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] |
>>>>> Ulrich Drepper writes: > Andreas Jaeger <aj@suse.de> writes: >> I'd like to fix all these NSS related warnings with a patch like the >> following. What do you think? Shall I finish the patch? Or what >> needs changing? > Should work this way. It's an internal header so nobody will look > closely at it to see how ugly the code is. I hope it's not too ugly. My patch showed a number of problems - like the following (I moved the declarations to its proper place in netdb.h instead of in nsswitch.h). In file included from nss_files/files-hosts.c:50: nss_files/files-XXX.c:116: warning: no previous prototype for `_nss_files_sethostent' nss_files/files-XXX.c:153: warning: no previous prototype for `_nss_files_endhostent' nss_files/files-hosts.c:271: conflicting types for `_nss_files_gethostbyname2_r' ../include/netdb.h:182: previous declaration of `_nss_files_gethostbyname2_r' Shouldn't the following macro in files-hosts.c have all arguments? HOST_DB_LOOKUP (hostbyname, ,, { LOOKUP_NAME_CASE (h_name, h_aliases) }, const char *name) FYI I'm appending my current patch, I'll enhance and refine it tomorrow. Andreas 2000-12-17 Andreas Jaeger <aj@suse.de> * nis/nss_nis/nis-proto.c (_nss_nis_setprotoent): Fix declaration. * include/netdb.h (DECLARE_NSS_PROTOTYPES): New. ============================================================ Index: include/netdb.h --- include/netdb.h 2000/11/26 09:43:11 1.11 +++ include/netdb.h 2000/12/17 20:05:20 @@ -143,10 +143,58 @@ /* The following declarations and definitions have been removed from the public header since we don't want people to use them. */ -#define AI_V4MAPPED 0x0008 /* IPv4-mapped addresses are acceptable. */ -#define AI_ALL 0x0010 /* Return both IPv4 and IPv6 addresses. */ -#define AI_ADDRCONFIG 0x0020 /* Use configuration of this host to choose - returned address type. */ +#define AI_V4MAPPED 0x0008 /* IPv4-mapped addresses are acceptable. */ +#define AI_ALL 0x0010 /* Return both IPv4 and IPv6 addresses. */ +#define AI_ADDRCONFIG 0x0020 /* Use configuration of this host to choose + returned address type. */ #define AI_DEFAULT (AI_V4MAPPED | AI_ADDRCONFIG) + +#define DECLARE_NSS_PROTOTYPES(service) \ +extern enum nss_status _nss_ ## service ## _setprotoent (int); \ +extern enum nss_status _nss_ ## service ## _endprotoent (void); \ +extern enum nss_status _nss_ ## service ## _getprotoent_r \ + (struct protoent *proto, char *buffer, size_t buflen, \ + int *errnop); \ +extern enum nss_status _nss_ ## service ## _getprotobyname_r \ + (const char *name, struct protoent *proto, \ + char *buffer, size_t buflen, int *errnop); \ +extern enum nss_status _nss_ ## service ## _getprotobynumber_r \ + (int number, struct protoent *proto, \ + char *buffer, size_t buflen, int *errnop); \ +extern enum nss_status _nss_ ## service ## _gethostent_r \ + (struct hostent *host, char *buffer, size_t buflen, \ + int *errnop, int *h_errnop); \ +extern enum nss_status _nss_ ## service ## _gethostbyname2_r \ + (const char *name, int af, struct hostent *host, \ + char *buffer, size_t buflen, int *errnop, \ + int *h_errnop, int flags); \ +extern enum nss_status _nss_ ## service ## _gethostbyname_r \ + (const char *name, struct hostent *host, char *buffer, \ + size_t buflen, int *errnop, int *h_errnop); \ +extern enum nss_status _nss_ ## service ## _gethostbyaddr_r \ + (const void *addr, socklen_t addrlen, int af, \ + struct hostent *host, char *buffer, size_t buflen, \ + int *errnop, int *h_errnop); +extern enum nss_status _nss_ ## service ## _setservent (int); +extern enum nss_status _nss_ ## service ## _endservent (void); +extern enum nss_status _nss_ ## service ## _getservent_r + (struct servent *serv, char *buffer, size_t buflen, + int *errnop); +extern enum nss_status _nss_ ## service ## _getservbyname_r + (const char *name, char *protocol, + struct servent *serv, char *buffer, size_t buflen, + int *errnop); +extern enum nss_status _nss_ ## service ## _getservbyport_r + (int port, char *protocol, struct servent *serv, + char *buffer, size_t buflen, int *errnop); + + + +DECLARE_NSS_PROTOTYPES (nis) +DECLARE_NSS_PROTOTYPES (nisplus) +DECLARE_NSS_PROTOTYPES (hesiod) +DECLARE_NSS_PROTOTYPES (files) + +#undef DECLARE_NSS_PROTOTYPES #endif /* !_NETDB_H */ ============================================================ Index: nis/nss_nis/nis-proto.c --- nis/nss_nis/nis-proto.c 2000/03/17 18:34:12 1.14 +++ nis/nss_nis/nis-proto.c 2000/12/17 20:05:21 @@ -106,7 +106,7 @@ } enum nss_status -_nss_nis_setprotoent (void) +_nss_nis_setprotoent (int) { enum nss_status status; -- 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] |