Another temporary hack to hide reentrant netdb functions.
authorPeter Avalos <pavalos@theshell.com>
Sat, 3 Jan 2009 17:54:18 +0000 (12:54 -0500)
committerPeter Avalos <pavalos@theshell.com>
Sat, 3 Jan 2009 17:54:18 +0000 (12:54 -0500)
This should help pkgsrc before the release.  After the release we should
figure out what it takes to get these thread-safe functions working with
3rd party programs.

include/netdb.h
lib/libc/net/Makefile.inc

index 5cd521f..0f91f9c 100644 (file)
@@ -210,47 +210,73 @@ void              endprotoent(void);
 void           endservent(void);
 void           freehostent(struct hostent *);
 struct hostent *gethostbyaddr(const void *, socklen_t, int);
+#if 0
 int            gethostbyaddr_r(const void *, socklen_t, int, struct hostent *,
                                char *, size_t, struct hostent **, int *);
+#endif
 struct hostent *gethostbyname(const char *);
+#if 0
 int            gethostbyname_r(const char *, struct hostent *, char *, size_t,
                                struct hostent **, int *);
+#endif
 struct hostent *gethostbyname2(const char *, int);
+#if 0
 int            gethostbyname2_r(const char *, int, struct hostent *, char *,
                                 size_t, struct hostent **, int *);
+#endif
 struct hostent *gethostent(void);
+#if 0
 int            gethostent_r(struct hostent *, char *, size_t,
                             struct hostent **, int *);
+#endif
 struct hostent *getipnodebyaddr(const void *, size_t, int, int *);
 struct hostent *getipnodebyname(const char *, int, int, int *);
 struct netent  *getnetbyaddr(uint32_t, int);
+#if 0
 int            getnetbyaddr_r(uint32_t, int, struct netent *, char *, size_t,
                               struct netent**, int *);
+#endif
 struct netent  *getnetbyname(const char *);
+#if 0
 int            getnetbyname_r(const char *, struct netent *, char *, size_t,
                               struct netent **, int *);
+#endif
 struct netent  *getnetent(void);
+#if 0
 int            getnetent_r(struct netent *, char *, size_t, struct netent **,
                            int *);
+#endif
 int            getnetgrent(char **, char **, char **);
 struct protoent        *getprotobyname(const char *);
+#if 0
 int            getprotobyname_r(const char *, struct protoent *, char *,
                                 size_t, struct protoent **);
+#endif
 struct protoent        *getprotobynumber(int);
+#if 0
 int            getprotobynumber_r(int, struct protoent *, char *, size_t,
                                   struct protoent **);
+#endif
 struct protoent        *getprotoent(void);
+#if 0
 int            getprotoent_r(struct protoent *, char *, size_t,
                              struct protoent **);
+#endif
 struct servent *getservbyname(const char *, const char *);
+#if 0
 int            getservbyname_r(const char *, const char *, struct servent *,
                                char *, size_t, struct servent **);
+#endif
 struct servent *getservbyport(int, const char *);
+#if 0
 int            getservbyport_r(int, const char *, struct servent *, char *,
                                size_t, struct servent **);
+#endif
 struct servent *getservent(void);
+#if 0
 int            getservent_r(struct servent *, char *, size_t,
                             struct servent **);
+#endif
 void           herror(const char *);
 __const char   *hstrerror(int);
 int            innetgr(const char *, const char *, const char *, const char *);
index 8112dcc..1f40fc5 100644 (file)
@@ -28,6 +28,15 @@ SRCS+=       nscache.c nscachedcli.c
 
 CFLAGS+=-DINET6 -I${.OBJDIR}
 
+# Temporary hack to fix 3rd party programs
+CFLAGS+=-Dgethostbyaddr_r=GETHOSTBYADDR_R -Dgethostbyname_r=GETHOSTBYNAME_R \
+       -Dgethostbyname2_r=GETHOSTBYNAME2_R -Dgethostent_r=GETHOSTENT_R \
+       -Dgetnetbyaddr_r=GETNETBYADDR_R -Dgetnetbyname_r=GETNETBYNAME_R \
+       -Dgetnetent_r=GETNETENT_R -Dgetprotobyname_r=GETPROTOBYNAME_R \
+       -Dgetprotobynumber_r=GETPROTOBYNUMBER_R -Dgetprotoent_r=GETPROTOENT_R \
+       -Dgetservbyname_r=GETSERVBYNAME_R -Dgetservbyport_r=GETSERVBYPORT_R \
+       -Dgetservent_r=GETSERVENT_R
+
 YFLAGS+=-p_nsyy
 LFLAGS+=-P_nsyy