1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
From d3b5ffed6d7d49cc93b2343afcf0e4502a3e54ce Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
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 <libc_private.h>
#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
|