aboutsummaryrefslogtreecommitdiffstats
path: root/main/libtirpc/0001-Provide-getrpcbynumber-and-getrpcbyname-if-those-are.patch
blob: 3708638a43500e80789e019e1bb01dc0704e0e60 (plain)
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