This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Another prototype warning patch



This patch removes a further bunch of "no previous prototype defined"
warnings.

After applying my linuxthreads patch from this morning and this patch,
the number of unique "no previous prototype" warnings is reduced from
197 to 72 for a normal 'make'.

The remaining prototype warnings are caused mainly by sunrpc and
nested functions.

Ok to commit?

Andreas

2000-12-27  Andreas Jaeger  <aj@suse.de>

	* sunrpc/des_soft.c: Include rpc/des_crypt.h for prototype.

	* nss/XXX-lookup.c: Add prototype to shut up GCC.

	* include/netinet/ether.h (DECLARE_NSS_PROTOTYPES): Fix
	setetherent prototype.
	Add internal interfaces.

	* nis/nss_nis/nis-ethers.c (_nss_nis_setetherent): Likewise.
	* nis/nss_nisplus/nisplus-ethers.c (_nss_nisplus_setetherent): Likewise.

	* resolv/res_data.c: Don't add (conflicting) prototypes for _LIBC.

	* nis/nis_intern.h: Add prototype for __pmap_getnisport.

	* nss/nss_files/files-ethers.c: Include netinet/ether.h to get
	prototypes, remove struct etherent since it's declared in ether.h.
	Fix ntohost declaration.

	* elf/dl-profile.c (_dl_mcount): Add empty statement to shut up GCC.

	* include/getopt.h: Add internal interfaces.
	* include/termios.h: Likewise.
	* include/resolv.h: Likewise.
	* include/netdb.h: Likewise.
	* include/grp.h: Likewise.
	* include/pwd.h: Likewise.
	* include/shadow.h: Likewise.
	* include/rpc/netdb.h: Likewise.

	* include/stdio.h: Add prototypes for compatibility functions.
	* include/grp.h: Likewise.
	* include/pwd.h: Likewise.
	* include/shadow.h: Likewise.

	* include/fenv.h: Define internal interfaces.

============================================================
Index: nis/nis_intern.h
--- nis/nis_intern.h	2000/12/19 09:50:44	1.17
+++ nis/nis_intern.h	2000/12/27 16:29:24
@@ -51,6 +51,9 @@
 				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);
============================================================
Index: nss/nss_files/files-ethers.c
--- nss/nss_files/files-ethers.c	2000/08/01 16:08:29	1.6
+++ nss/nss_files/files-ethers.c	2000/12/27 16:29:24
@@ -17,16 +17,9 @@
    Boston, MA 02111-1307, USA.  */
 
 #include <string.h>
+#include <netinet/ether.h>
 #include <netinet/if_ether.h>
 
-/* 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 @@
 	     if (memcmp (&result->e_addr, addr,
 			 sizeof (struct ether_addr)) == 0)
 	       break;
-	   }, struct ether_addr *addr)
+	   }, const struct ether_addr *addr)
============================================================
Index: elf/dl-profile.c
--- elf/dl-profile.c	2000/08/16 01:22:34	1.20
+++ elf/dl-profile.c	2000/12/27 16:29:25
@@ -538,5 +538,7 @@
 #if 0
   /* XXX See above,  Shouldn't be necessary anymore.  */
   state = GMON_PROF_ON;
+#else
+  ;
 #endif
 }
============================================================
Index: include/getopt.h
--- include/getopt.h	1997/06/21 01:17:05	1.1
+++ include/getopt.h	2000/12/27 16:29:25
@@ -1 +1,8 @@
+#ifndef _GETOPT_H
+
 #include <posix/getopt.h>
+
+/* Now define the internal interfaces.  */
+extern void __getopt_clean_environment (char **__env);
+
+#endif
============================================================
Index: include/resolv.h
--- include/resolv.h	2000/07/19 21:57:08	1.4
+++ include/resolv.h	2000/12/27 16:29:25
@@ -9,4 +9,22 @@
   while (0)
 
 #include <resolv/resolv.h>
+
+/* Now define the internal interfaces.  */
+extern int __res_vinit (res_state, int);
+extern void _sethtent (int);
+extern void _endhtent (void);
+extern struct hostent *_gethtent (void);
+extern struct hostent *_gethtbyname (const char *__name);
+extern struct hostent *_gethtbyname2 (const char *__name, int __af);
+struct hostent *_gethtbyaddr (const char *addr, size_t __len, int __af);
+extern u_int32_t _getlong (const u_char *__src);
+extern u_int16_t _getshort (const u_char *__src);
+extern void res_pquery (const res_state __statp, const u_char *__msg,
+			int __len, FILE *__file);
+extern void res_send_setqhook (res_send_qhook __hook);
+extern void res_send_setrhook (res_send_rhook __hook);
+extern int res_ourserver_p (const res_state __statp,
+			    const struct sockaddr_in6 *__inp);
+
 #endif
============================================================
Index: include/stdio.h
--- include/stdio.h	2000/12/27 07:55:24	1.13
+++ include/stdio.h	2000/12/27 16:29:25
@@ -28,6 +28,11 @@
 		      _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 <stdio/stdio.h>
 #  endif
============================================================
Index: include/grp.h
--- include/grp.h	2000/12/18 16:34:19	1.7
+++ include/grp.h	2000/12/27 16:29:26
@@ -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 __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);		   \
============================================================
Index: include/pwd.h
--- include/pwd.h	2000/12/18 16:34:19	1.6
+++ include/pwd.h	2000/12/27 16:29:26
@@ -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 <nss/nss.h>
+
+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);		\
============================================================
Index: include/shadow.h
--- include/shadow.h	2000/12/18 16:39:53	1.6
+++ include/shadow.h	2000/12/27 16:29:26
@@ -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);
@@ -15,6 +20,11 @@
 			  struct spwd **__result);
 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);		\
============================================================
Index: include/fenv.h
--- include/fenv.h	1998/07/31 23:27:43	1.1
+++ include/fenv.h	2000/12/27 16:29:26
@@ -1 +1,14 @@
+#ifndef _FENV_H
 #include <math/fenv.h>
+
+/* 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
============================================================
Index: include/netdb.h
--- include/netdb.h	2000/12/19 09:50:44	1.13
+++ include/netdb.h	2000/12/27 16:29:26
@@ -151,6 +151,22 @@
 
 #include <inet/netgroup.h>
 
+struct parser_data;
+extern int _nss_files_parse_protoent (char *line, struct protoent *result,
+				      struct parser_data *data,
+				      size_t datalen, int *errnop);
+extern int _nss_files_parse_servent (char *line, struct servent *result,
+				     struct parser_data *data,
+				     size_t datalen, int *errnop);
+extern int _nss_files_parse_netent (char *line, struct netent *result,
+				    struct parser_data *data,
+				    size_t datalen, int *errnop);
+extern enum nss_status _nss_netgroup_parseline (char **cursor,
+						struct __netgrent *result,
+						char *buffer, size_t buflen,
+						int *errnop);
+
+
 #define DECLARE_NSS_PROTOTYPES(service)					      \
 extern enum nss_status _nss_ ## service ## _setprotoent (int);		      \
 extern enum nss_status _nss_ ## service ## _endprotoent (void);		      \
============================================================
Index: include/termios.h
--- include/termios.h	1999/11/23 17:20:31	1.5
+++ include/termios.h	2000/12/27 16:29:26
@@ -3,4 +3,7 @@
 
 /* Now define the internal interfaces.  */
 extern int __tcgetattr (int __fd, struct termios *__termios_p);
+
+extern int __libc_tcdrain (int __fd);
+
 #endif
============================================================
Index: resolv/res_data.c
--- resolv/res_data.c	2000/07/19 22:01:36	1.5
+++ resolv/res_data.c	2000/12/27 16:29:27
@@ -82,9 +82,10 @@
 #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
============================================================
Index: include/netinet/ether.h
--- include/netinet/ether.h	2000/12/21 14:38:26	1.3
+++ include/netinet/ether.h	2000/12/27 16:29:27
@@ -10,18 +10,23 @@
   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)
============================================================
Index: nis/nss_nis/nis-ethers.c
--- nis/nss_nis/nis-ethers.c	2000/12/21 14:38:25	1.17
+++ nis/nss_nis/nis-ethers.c	2000/12/27 16:29:27
@@ -109,7 +109,7 @@
 }
 
 enum nss_status
-_nss_nis_setetherent (void)
+_nss_nis_setetherent (int stayopen)
 {
   enum nss_status result;
 
============================================================
Index: nis/nss_nisplus/nisplus-ethers.c
--- nis/nss_nisplus/nisplus-ethers.c	2000/12/21 14:38:25	1.13
+++ nis/nss_nisplus/nisplus-ethers.c	2000/12/27 16:29:27
@@ -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 <kukuk@vt.uni-paderborn.de>, 1997.
+   Contributed by Thorsten Kukuk <kukuk@suse.de>, 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 @@
 
 
 enum nss_status
-_nss_nisplus_setetherent (void)
+_nss_nisplus_setetherent (int stayopen)
 {
   enum nss_status status;
   int err;
============================================================
Index: include/rpc/netdb.h
--- include/rpc/netdb.h	2000/12/19 09:50:44	1.4
+++ include/rpc/netdb.h	2000/12/27 16:29:27
@@ -21,6 +21,11 @@
 extern int __old_getrpcent_r (struct rpcent *__result_buf, char *__buffer,
 			      size_t __buflen, struct rpcent **__result);
 
+struct parser_data;
+extern int _nss_files_parse_rpcent (char *line, struct rpcent *result,
+				    struct parser_data *data,
+				    size_t datalen, int *errnop);
+
 #define DECLARE_NSS_PROTOTYPES(service)					      \
 extern enum nss_status _nss_ ## service ## _setrpcent (int);		      \
 extern enum nss_status _nss_ ## service ## _endrpcent (void);		      \
============================================================
Index: sunrpc/des_soft.c
--- sunrpc/des_soft.c	1999/04/28 22:50:58	1.2
+++ sunrpc/des_soft.c	2000/12/27 16:29:27
@@ -29,6 +29,8 @@
  * 2550 Garcia Avenue
  * Mountain View, California  94043
  */
+
+#include <rpc/des_crypt.h>
 /*
  * Table giving odd parity in the low bit for ASCII characters
  */
============================================================
Index: nss/XXX-lookup.c
--- nss/XXX-lookup.c	1999/04/28 22:10:09	1.7
+++ nss/XXX-lookup.c	2000/12/27 16:29:27
@@ -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 <drepper@cygnus.com>, 1996.
 
@@ -54,6 +54,8 @@
 #endif
 
 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)

-- 
 Andreas Jaeger
  SuSE Labs aj@suse.de
   private aj@arthur.inka.de
    http://www.suse.de/~aj

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]