From 489912cad88ff5e13477ae2f19baa93415c981db Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Wed, 22 Apr 2015 12:17:33 -0400 Subject: [PATCH] Provide getrpcbynumber and getrpcbyname if those are missing We enable the config.h again and check if getrpcbynumber and getrpcbyname exists on the building patform. If it does not exist, then provide those functions. This is needed for musl libc. Signed-off-by: Natanael Copa Signed-off-by: Steve Dickson --- autogen.sh | 2 +- configure.ac | 6 ++++-- src/getrpcent.c | 10 ++++++++-- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/autogen.sh b/autogen.sh index 3aef4d9..1613b6d 100644 --- a/autogen.sh +++ b/autogen.sh @@ -37,6 +37,6 @@ fi aclocal libtoolize --force --copy -#autoheader +autoheader automake --add-missing --copy --gnu # -Wall autoconf # -Wall 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) -- 2.40.0