summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/arpa/inet.h2
-rw-r--r--libc/inet/addr.c4
2 files changed, 5 insertions, 1 deletions
diff --git a/include/arpa/inet.h b/include/arpa/inet.h
index fe3373b88..02233d4e7 100644
--- a/include/arpa/inet.h
+++ b/include/arpa/inet.h
@@ -52,6 +52,8 @@ extern in_addr_t inet_network (__const char *__cp) __THROW;
/* Convert Internet number in IN to ASCII representation. The return value
is a pointer to an internal array containing the string. */
extern char *inet_ntoa (struct in_addr __in) __THROW;
+/* Recursion-safe flavor */
+extern char *inet_ntoa_r (struct in_addr __in, char *__buf) __THROW;
/* Convert from presentation format of an Internet number in buffer
starting at CP to the binary network format and store result for
diff --git a/libc/inet/addr.c b/libc/inet/addr.c
index cbe3d6893..93ef63fc8 100644
--- a/libc/inet/addr.c
+++ b/libc/inet/addr.c
@@ -122,7 +122,8 @@ libc_hidden_def(inet_addr)
#define INET_NTOA_MAX_LEN 16 /* max 12 digits + 3 '.'s + 1 nul */
-static char *inet_ntoa_r(struct in_addr in, char buf[INET_NTOA_MAX_LEN])
+libc_hidden_proto(inet_ntoa_r)
+char *inet_ntoa_r(struct in_addr in, char buf[INET_NTOA_MAX_LEN])
{
in_addr_t addr = ntohl(in.s_addr);
int i;
@@ -141,6 +142,7 @@ static char *inet_ntoa_r(struct in_addr in, char buf[INET_NTOA_MAX_LEN])
return p+1;
}
+libc_hidden_def(inet_ntoa_r)
libc_hidden_proto(inet_ntoa)
char *inet_ntoa(struct in_addr in)