From efaf6886505cd29084af05aa06edc19fd71bdfe9 Mon Sep 17 00:00:00 2001 From: Dan Fandrich Date: Tue, 15 Mar 2005 21:00:46 +0000 Subject: Fixed ftp support with uClibc due to differing inet_ntoa_r() behaviour. --- lib/inet_ntop.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'lib/inet_ntop.c') diff --git a/lib/inet_ntop.c b/lib/inet_ntop.c index 6b15c025f..293723a7e 100644 --- a/lib/inet_ntop.c +++ b/lib/inet_ntop.c @@ -56,8 +56,19 @@ */ static const char *inet_ntop4 (const u_char *src, char *dst, size_t size) { -#ifdef HAVE_INET_NTOA_R +#if defined(HAVE_INET_NTOA_R_2_ARGS) + const char *ptr; + size_t len; + curlassert(size >= 16); + ptr = inet_ntoa_r(*(struct in_addr*)src, dst); + len = strlen(ptr); + memmove(dst, ptr, len); + dst[len] = 0; + return dst; + +#elif defined(HAVE_INET_NTOA_R) return inet_ntoa_r(*(struct in_addr*)src, dst, size); + #else const char *addr = inet_ntoa(*(struct in_addr*)src); -- cgit v1.2.3