From d3b5ffed6d7d49cc93b2343afcf0e4502a3e54ce Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Thu, 24 Apr 2014 09:19:45 +0200 Subject: [PATCH 1/2] Provide getrpcbynumber and getrpcbyname if those are missing We enable the config.h again and check fi getrpcbynumber and getrpcbyname exists on the building patform. If it does not exist, then provide those functions. This is needed for musl libc. --- configure.ac | 6 ++++-- src/getrpcent.c | 10 ++++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/configure.ac b/configure.ac index 10d17ea..0180801 100644 --- a/configure.ac +++ b/configure.ac @@ -24,14 +24,16 @@ if test "x$enable_ipv6" != xno; then fi AC_PROG_CC -m4_pattern_allow(AM_CONFIG_HEADERS(config.h)) +AC_CONFIG_HEADERS([config.h]) AC_PROG_LIBTOOL AC_HEADER_DIRENT AC_PREFIX_DEFAULT(/usr) AC_CHECK_HEADERS([arpa/inet.h fcntl.h libintl.h limits.h locale.h netdb.h netinet/in.h stddef.h stdint.h stdlib.h string.h sys/ioctl.h sys/param.h sys/socket.h sys/time.h syslog.h unistd.h]) AC_CHECK_LIB([pthread], [pthread_create]) AC_CHECK_LIB([nsl], [yp_get_default_domain]) - +AC_CHECK_FUNCS([getrpcbyname getrpcbynumber]) AC_CONFIG_FILES([Makefile src/Makefile man/Makefile doc/Makefile]) AC_OUTPUT(libtirpc.pc) + + diff --git a/src/getrpcent.c b/src/getrpcent.c index 1b54b6d..6da006a 100644 --- a/src/getrpcent.c +++ b/src/getrpcent.c @@ -50,6 +50,10 @@ #include #endif +#if HAVE_CONFIG_H +#include "config.h" +#endif + /* * Internet version. */ @@ -89,7 +93,7 @@ _rpcdata() return (d); } -#ifdef GQ +#if !HAVE_GETRPCBYNYMBER struct rpcent * getrpcbynumber(number) int number; @@ -135,7 +139,9 @@ no_yp: endrpcent(); return (p); } +#endif /* !HAVE_GETRPCBYNUMBER */ +#if !HAVE_GETRPCBYNAME struct rpcent * getrpcbyname(name) const char *name; @@ -158,7 +164,7 @@ done: endrpcent(); return (rpc); } -#endif /* GQ */ +#endif /* !HAVE_GETRPCBYNAME */ void setrpcent(f) -- 1.9.2