diff --git a/dlfcn/failtest.c b/dlfcn/failtest.c index 50bbf10596..e0ac4ef638 100644 --- a/dlfcn/failtest.c +++ b/dlfcn/failtest.c @@ -52,6 +52,8 @@ main (void) } +extern void foo (void); + void foo (void) { diff --git a/dlfcn/glrefmain.c b/dlfcn/glrefmain.c index efb080a261..38408c227a 100644 --- a/dlfcn/glrefmain.c +++ b/dlfcn/glrefmain.c @@ -35,6 +35,8 @@ load (const char *name) #define TEST_FUNCTION do_test () +extern int do_test (void); + int do_test (void) { diff --git a/dlfcn/tst-dladdr.c b/dlfcn/tst-dladdr.c index 5493a15112..fb666ef889 100644 --- a/dlfcn/tst-dladdr.c +++ b/dlfcn/tst-dladdr.c @@ -26,6 +26,7 @@ #define TEST_FUNCTION do_test () +extern int do_test (void); int do_test (void) diff --git a/elf/dl-profile.c b/elf/dl-profile.c index b9d1287b12..53b26d51a2 100644 --- a/elf/dl-profile.c +++ b/elf/dl-profile.c @@ -538,5 +538,7 @@ _dl_mcount (ElfW(Addr) frompc, ElfW(Addr) selfpc) #if 0 /* XXX See above, Shouldn't be necessary anymore. */ state = GMON_PROF_ON; +#else + ; #endif } diff --git a/include/fenv.h b/include/fenv.h index b2da08406c..b7db444a39 100644 --- a/include/fenv.h +++ b/include/fenv.h @@ -1 +1,14 @@ +#ifndef _FENV_H #include + +/* Now define the internal interfaces. */ + +extern int __feclearexcept (int __excepts); +extern int __fegetexceptflag (fexcept_t *__flagp, int __excepts); +extern int __feraiseexcept (int __excepts); +extern int __fesetexceptflag (__const fexcept_t *__flagp, int __excepts); +extern int __fegetenv (fenv_t *__envp); +extern int __fesetenv (__const fenv_t *__envp); +extern int __feupdateenv (__const fenv_t *__envp); + +#endif diff --git a/include/grp.h b/include/grp.h index bb5a0408b5..6b13ea1b3d 100644 --- a/include/grp.h +++ b/include/grp.h @@ -4,6 +4,8 @@ /* Now define the internal interfaces. */ extern int __getgrent_r (struct group *__resultbuf, char *buffer, size_t __buflen, struct group **__result); +extern int __old_getgrent_r (struct group *__resultbuf, char *buffer, + size_t __buflen, struct group **__result); extern int __fgetgrent_r (FILE * __stream, struct group *__resultbuf, char *buffer, size_t __buflen, struct group **__result); @@ -12,11 +14,22 @@ extern int __fgetgrent_r (FILE * __stream, struct group *__resultbuf, extern int __getgrgid_r (__gid_t __gid, struct group *__resultbuf, char *__buffer, size_t __buflen, struct group **__result); +extern int __old_getgrgid_r (__gid_t __gid, struct group *__resultbuf, + char *__buffer, size_t __buflen, + struct group **__result); /* Search for an entry with a matching group name. */ extern int __getgrnam_r (__const char *__name, struct group *__resultbuf, char *__buffer, size_t __buflen, struct group **__result); +extern int __old_getgrnam_r (__const char *__name, struct group *__resultbuf, + char *__buffer, size_t __buflen, + struct group **__result); + +struct parser_data; +extern int _nss_files_parse_grent (char *line, struct group *result, + struct parser_data *data, + size_t datalen, int *errnop); #define DECLARE_NSS_PROTOTYPES(service) \ extern enum nss_status _nss_ ## service ## _setgrent (int); \ diff --git a/include/netinet/ether.h b/include/netinet/ether.h index fc3460df8e..98947aaec7 100644 --- a/include/netinet/ether.h +++ b/include/netinet/ether.h @@ -10,18 +10,23 @@ struct etherent struct ether_addr e_addr; }; -#define DECLARE_NSS_PROTOTYPES(service) \ -extern enum nss_status _nss_ ## service ## _setetherent (void); \ -extern enum nss_status _nss_ ## service ## _endetherent (void); \ -extern enum nss_status _nss_ ## service ## _getetherent_r \ - (struct etherent *result, char *buffer, \ - size_t buflen, int *errnop); \ -extern enum nss_status _nss_ ## service ## _gethostton_r \ - (const char *name, struct etherent *eth, \ - char *buffer, size_t buflen, int *errnop); \ -extern enum nss_status _nss_ ## service ## _getntohost_r \ - (const struct ether_addr *addr, \ - struct etherent *eth, \ +struct parser_data; +extern int _nss_files_parse_etherent (char *line, struct etherent *result, + struct parser_data *data, + size_t datalen, int *errnop); + +#define DECLARE_NSS_PROTOTYPES(service) \ +extern enum nss_status _nss_ ## service ## _setetherent (int __stayopen); \ +extern enum nss_status _nss_ ## service ## _endetherent (void); \ +extern enum nss_status _nss_ ## service ## _getetherent_r \ + (struct etherent *result, char *buffer, \ + size_t buflen, int *errnop); \ +extern enum nss_status _nss_ ## service ## _gethostton_r \ + (const char *name, struct etherent *eth, \ + char *buffer, size_t buflen, int *errnop); \ +extern enum nss_status _nss_ ## service ## _getntohost_r \ + (const struct ether_addr *addr, \ + struct etherent *eth, \ char *buffer, size_t buflen, int *errnop); DECLARE_NSS_PROTOTYPES (files) diff --git a/include/pwd.h b/include/pwd.h index 25656ef281..341c6cee16 100644 --- a/include/pwd.h +++ b/include/pwd.h @@ -4,17 +4,31 @@ /* Now define the internal interfaces. */ extern int __getpwent_r (struct passwd *__resultbuf, char *__buffer, size_t __buflen, struct passwd **__result); +extern int __old_getpwent_r (struct passwd *__resultbuf, char *__buffer, + size_t __buflen, struct passwd **__result); extern int __getpwuid_r (__uid_t __uid, struct passwd *__resultbuf, char *__buffer, size_t __buflen, struct passwd **__result); +extern int __old_getpwuid_r (__uid_t __uid, struct passwd *__resultbuf, + char *__buffer, size_t __buflen, + struct passwd **__result); extern int __getpwnam_r (__const char *__name, struct passwd *__resultbuf, char *__buffer, size_t __buflen, struct passwd **__result); +extern int __old_getpwnam_r (__const char *__name, struct passwd *__resultbuf, + char *__buffer, size_t __buflen, + struct passwd **__result); extern int __fgetpwent_r (FILE * __stream, struct passwd *__resultbuf, char *__buffer, size_t __buflen, struct passwd **__result); #include + +struct parser_data; +extern int _nss_files_parse_pwent (char *line, struct passwd *result, + struct parser_data *data, + size_t datalen, int *errnop); + #define DECLARE_NSS_PROTOTYPES(service) \ extern enum nss_status _nss_ ## service ## _setpwent (int); \ extern enum nss_status _nss_ ## service ## _endpwent (void); \ diff --git a/include/shadow.h b/include/shadow.h index 5bbaac3543..0ae6b2111a 100644 --- a/include/shadow.h +++ b/include/shadow.h @@ -4,9 +4,14 @@ /* Now define the internal interfaces. */ extern int __getspent_r (struct spwd *__result_buf, char *__buffer, size_t __buflen, struct spwd **__result); +extern int __old_getspent_r (struct spwd *__result_buf, char *__buffer, + size_t __buflen, struct spwd **__result); extern int __getspnam_r (__const char *__name, struct spwd *__result_buf, char *__buffer, size_t __buflen, struct spwd **__result); +extern int __old_getspnam_r (__const char *__name, struct spwd *__result_buf, + char *__buffer, size_t __buflen, + struct spwd **__result); extern int __sgetspent_r (__const char *__string, struct spwd *__result_buf, char *__buffer, size_t __buflen, struct spwd **__result); @@ -16,6 +21,11 @@ extern int __fgetspent_r (FILE *__stream, struct spwd *__result_buf, extern int __lckpwdf (void); extern int __ulckpwdf (void); +struct parser_data; +extern int _nss_files_parse_spent (char *line, struct spwd *result, + struct parser_data *data, + size_t datalen, int *errnop); + #define DECLARE_NSS_PROTOTYPES(service) \ extern enum nss_status _nss_ ## service ## _setspent (int); \ extern enum nss_status _nss_ ## service ## _endspent (void); \ diff --git a/include/stdio.h b/include/stdio.h index ce06a41842..e4ae35333d 100644 --- a/include/stdio.h +++ b/include/stdio.h @@ -28,6 +28,11 @@ extern int __vsscanf (__const char *__restrict __s, _G_va_list __arg) __attribute__ ((__format__ (__scanf__, 2, 0))); +/* Prototypes for compatibility functions. */ +extern FILE *__new_tmpfile (void); +extern FILE *__old_tmpfile (void); + + # else # include # endif diff --git a/nis/nis_intern.h b/nis/nis_intern.h index 3395046c3f..1352cd5946 100644 --- a/nis/nis_intern.h +++ b/nis/nis_intern.h @@ -51,6 +51,9 @@ extern nis_error __do_niscall3 (dir_binding *dbp, u_long prog, xdrproc_t xres, caddr_t resp, unsigned int flags, nis_cb *cb); +extern u_short __pmap_getnisport (struct sockaddr_in *address, u_long program, + u_long version, u_int protocol); + /* NIS+ callback */ extern nis_error __nis_do_callback (struct dir_binding *bptr, netobj *cookie, struct nis_cb *cb); diff --git a/nis/nss_nis/nis-ethers.c b/nis/nss_nis/nis-ethers.c index f7ff50578e..51c8534894 100644 --- a/nis/nss_nis/nis-ethers.c +++ b/nis/nss_nis/nis-ethers.c @@ -109,7 +109,7 @@ internal_nis_setetherent (void) } enum nss_status -_nss_nis_setetherent (void) +_nss_nis_setetherent (int stayopen) { enum nss_status result; diff --git a/nis/nss_nisplus/nisplus-ethers.c b/nis/nss_nisplus/nisplus-ethers.c index a8af4569b8..061dfbffa0 100644 --- a/nis/nss_nisplus/nisplus-ethers.c +++ b/nis/nss_nisplus/nisplus-ethers.c @@ -1,6 +1,6 @@ -/* Copyright (C) 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1997, 1998, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Thorsten Kukuk , 1997. + Contributed by Thorsten Kukuk , 1997. 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 @@ -98,7 +98,7 @@ _nss_create_tablename (int *errnop) enum nss_status -_nss_nisplus_setetherent (void) +_nss_nisplus_setetherent (int stayopen) { enum nss_status status; int err; diff --git a/nss/XXX-lookup.c b/nss/XXX-lookup.c index dc7a663abd..e812d9a548 100644 --- a/nss/XXX-lookup.c +++ b/nss/XXX-lookup.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 1999, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1996. @@ -55,6 +55,8 @@ service_user *DATABASE_NAME_SYMBOL; +extern int DB_LOOKUP_FCT (service_user **ni, const char *fct_name, void **fctp); + int DB_LOOKUP_FCT (service_user **ni, const char *fct_name, void **fctp) { diff --git a/nss/nss_files/files-ethers.c b/nss/nss_files/files-ethers.c index 3a6dcbc76e..88de6d499a 100644 --- a/nss/nss_files/files-ethers.c +++ b/nss/nss_files/files-ethers.c @@ -17,16 +17,9 @@ Boston, MA 02111-1307, USA. */ #include +#include #include -/* Because the `ethers' lookup does not fit so well in the scheme so - we define a dummy struct here which helps us to use the available - functions. */ -struct etherent -{ - const char *e_name; - struct ether_addr e_addr; -}; struct etherent_data {}; #define ENTNAME etherent @@ -72,4 +65,4 @@ DB_LOOKUP (ntohost, 18, ("=%x:%x:%x:%x:%x:%x", if (memcmp (&result->e_addr, addr, sizeof (struct ether_addr)) == 0) break; - }, struct ether_addr *addr) + }, const struct ether_addr *addr) diff --git a/resolv/res_data.c b/resolv/res_data.c index c8aa5c52b9..a365698e82 100644 --- a/resolv/res_data.c +++ b/resolv/res_data.c @@ -82,9 +82,10 @@ struct __res_state _res #endif /* Proto. */ - +#ifndef _LIBC int res_ourserver_p(const res_state, const struct sockaddr_in *); void res_pquery(const res_state, const u_char *, int, FILE *); +#endif #ifndef _LIBC /* Moved to res_libc.c since res_init() should go into libc.so but the diff --git a/string/test-ffs.c b/string/test-ffs.c index 9618408ae2..8d46d4e076 100644 --- a/string/test-ffs.c +++ b/string/test-ffs.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1994, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1994, 1997, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil), On-Line Applications Research Corporation. @@ -27,6 +27,9 @@ main (void) { int failures = 0; int i; + + auto void try (int value, int expected); + void try (int value, int expected) { if (ffs (value) != expected) diff --git a/sunrpc/des_soft.c b/sunrpc/des_soft.c index f358cac480..a7940b6978 100644 --- a/sunrpc/des_soft.c +++ b/sunrpc/des_soft.c @@ -29,6 +29,8 @@ static char sccsid[] = "@(#)des_soft.c 2.2 88/08/10 4.0 RPCSRC; from 1.13 88/02/ * 2550 Garcia Avenue * Mountain View, California 94043 */ + +#include /* * Table giving odd parity in the low bit for ASCII characters */