From: drepper Date: Thu, 14 Nov 1996 02:02:37 +0000 (+0000) Subject: update from main archive 961113 X-Git-Tag: libc-961114~3 X-Git-Url: http://git.csclub.uwaterloo.ca/?p=kopensolaris-gnu%2Fglibc.git;a=commitdiff_plain;h=03591b07b8fc3bfbc0b7fb8878f8d1bbc63983b2 update from main archive 961113 --- diff --git a/inet/Makefile b/inet/Makefile index c09db180f5..dd502110a8 100644 --- a/inet/Makefile +++ b/inet/Makefile @@ -12,9 +12,9 @@ # Library General Public License for more details. # You should have received a copy of the GNU Library General Public -# License along with the GNU C Library; see the file COPYING.LIB. If -# not, write to the Free Software Foundation, Inc., 675 Mass Ave, -# Cambridge, MA 02139, USA. +# License along with the GNU C Library; see the file COPYING.LIB. If not, +# write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. # # Sub-makefile for inet portion of the library. @@ -22,7 +22,8 @@ subdir := inet headers := netinet/ether.h netinet/in.h netinet/if_ether.h \ - netinet/tcp.h $(wildcard arpa/*.h protocols/*.h) + netinet/tcp.h $(wildcard arpa/*.h protocols/*.h) \ + aliases.h distribute := netgroup.h @@ -41,7 +42,8 @@ routines := ntohl ntohs htonl htons \ ether_aton ether_aton_r ether_hton ether_line \ ether_ntoa ether_ntoa_r ether_ntoh \ rcmd rexec ruserpass \ - getnetgrent_r getnetgrent + getnetgrent_r getnetgrent \ + getaliasent_r getaliasent getaliasname getaliasname_r # No warnings about losing BSD code. override +gccwarn := -w diff --git a/inet/aliases.h b/inet/aliases.h new file mode 100644 index 0000000000..94895083b7 --- /dev/null +++ b/inet/aliases.h @@ -0,0 +1,61 @@ +/* Copyright (C) 1996 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#ifndef _ALIASES_H + +#define _ALIASES_H 1 +#include + +#include + + +/* Structure to represent one entry of the alias data base. */ +struct aliasent +{ + char *alias_name; + size_t alias_members_len; + char **alias_members; + int alias_local; +}; + + +/* Open alias data base files. */ +extern void setaliasent __P ((void)); + +/* Close alias data base files. */ +extern void endaliasent __P ((void)); + +/* Get the next entry from the alias data base. */ +extern struct aliasent *getaliasent __P ((void)); + +/* Get alias entry corresponding to NAME. */ +extern struct aliasent *getaliasbyname __P ((__const char *__name)); + +#ifdef __USE_REENTRANT +/* Reentrant versions of some of the functions above. */ +extern int getaliasent_r __P ((struct aliasent *__result_buf, char *__buffer, + size_t __buflen, struct aliasent **__result)); + +extern int getaliasbyname_r __P ((__const char *__name, + struct aliasent *__result_buf, + char *__buffer, size_t __buflen, + struct aliasent **__result)); +#endif /* reentrant */ + + +#endif /* aliases.h */ diff --git a/inet/getaliasent.c b/inet/getaliasent.c new file mode 100644 index 0000000000..dfdec5900c --- /dev/null +++ b/inet/getaliasent.c @@ -0,0 +1,26 @@ +/* Copyright (C) 1996 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#include + + +#define LOOKUP_TYPE struct aliasent +#define GETFUNC_NAME getaliasent +#define BUFLEN 1024 + +#include "../nss/getXXent.c" diff --git a/inet/getaliasent_r.c b/inet/getaliasent_r.c new file mode 100644 index 0000000000..d03ba57d99 --- /dev/null +++ b/inet/getaliasent_r.c @@ -0,0 +1,29 @@ +/* Copyright (C) 1996 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper , 1996. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#include + + +#define LOOKUP_TYPE struct aliasent +#define SETFUNC_NAME setaliasent +#define GETFUNC_NAME getaliasent +#define ENDFUNC_NAME endaliasent +#define DATABASE_NAME aliases + +#include "../nss/getXXent_r.c" diff --git a/inet/getaliasname.c b/inet/getaliasname.c new file mode 100644 index 0000000000..416b434d1a --- /dev/null +++ b/inet/getaliasname.c @@ -0,0 +1,30 @@ +/* Copyright (C) 1996 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper , 1996. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#include + + +#define LOOKUP_TYPE struct aliasent +#define FUNCTION_NAME getaliasbyname +#define DATABASE_NAME aliases +#define ADD_PARAMS const char *name +#define ADD_VARIABLES name +#define BUFLEN 1024 + +#include "../nss/getXXbyYY.c" diff --git a/inet/getaliasname_r.c b/inet/getaliasname_r.c new file mode 100644 index 0000000000..a2d9474722 --- /dev/null +++ b/inet/getaliasname_r.c @@ -0,0 +1,29 @@ +/* Copyright (C) 1996 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper , 1996. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#include + + +#define LOOKUP_TYPE struct aliasent +#define FUNCTION_NAME getaliasbyname +#define DATABASE_NAME aliases +#define ADD_PARAMS const char *name +#define ADD_VARIABLES name + +#include "../nss/getXXbyYY_r.c" diff --git a/inet/getnetgrent_r.c b/inet/getnetgrent_r.c index 1848ad7f35..5600716d69 100644 --- a/inet/getnetgrent_r.c +++ b/inet/getnetgrent_r.c @@ -190,7 +190,7 @@ __internal_getnetgrent (char **hostp, char **userp, char **domainp, struct __netgrent *datap, char *buffer, size_t buflen) { - enum nss_status (*fct) (struct __netgrent *, char *, int); + enum nss_status (*fct) (struct __netgrent *, char *, size_t); int no_more; /* Initialize status to return if no more functions are found. */ @@ -293,7 +293,7 @@ innetgr (const char *netgroup, const char *host, const char *user, { int (*setfct) (const char *, struct __netgrent *); void (*endfct) (struct __netgrent *); - int (*getfct) (struct __netgrent *, char *, int); + int (*getfct) (struct __netgrent *, char *, size_t); struct name_list *known; struct name_list *needed; int result = 0; diff --git a/locale/programs/ld-collate.c b/locale/programs/ld-collate.c index f836ecd578..c8741e83cb 100644 --- a/locale/programs/ld-collate.c +++ b/locale/programs/ld-collate.c @@ -1328,7 +1328,7 @@ collate_order_elem (struct linereader *lr, struct localedef_t *locale, { lr_error (lr, _("\ collation element `%.*s' appears more than once: ignore line"), - code->val.str.len, code->val.str.start); + (int) code->val.str.len, code->val.str.start); lr_ignore_rest (lr, 0); result = -1; break;