Loading lib/ftp.c +2 −2 Original line number Diff line number Diff line Loading @@ -1524,7 +1524,7 @@ static CURLcode ftp_state_pasv_resp(struct connectdata *conn, &separator[2], &num, &separator[3])) { char sep1 = separator[0]; const char sep1 = separator[0]; int i; /* The four separators should be identical, or else this is an oddly Loading @@ -1539,7 +1539,7 @@ static CURLcode ftp_state_pasv_resp(struct connectdata *conn, newport = num; /* use the same IP we are already connected to */ snprintf(newhost, NEWHOST_BUFSIZE, "%s", conn->ip_addr_str, newhost); snprintf(newhost, NEWHOST_BUFSIZE, "%s", conn->ip_addr_str); } } else Loading lib/if2ip.c +1 −10 Original line number Diff line number Diff line Loading @@ -65,10 +65,6 @@ #include <sys/sockio.h> #endif #if defined(HAVE_INET_NTOA_R) && !defined(HAVE_INET_NTOA_R_DECL) #include "inet_ntoa_r.h" #endif #ifdef VMS #include <inet.h> #endif Loading Loading @@ -113,12 +109,7 @@ char *Curl_if2ip(const char *interface, char *buf, int buf_size) struct sockaddr_in *s = (struct sockaddr_in *)&req.ifr_dstaddr; memcpy(&in, &(s->sin_addr.s_addr), sizeof(in)); #if defined(HAVE_INET_NTOA_R) ip = inet_ntoa_r(in,buf,buf_size); #else ip = strncpy(buf,inet_ntoa(in),buf_size); ip[buf_size - 1] = 0; #endif ip = Curl_inet_ntop(s->sin_family, &in, buf, buf_size); } sclose(dummy); } Loading lib/inet_ntoa_r.h +13 −0 Original line number Diff line number Diff line #ifndef __INET_NTOA_R_H #define __INET_NTOA_R_H #include "setup.h" #ifdef HAVE_INET_NTOA_R_2_ARGS /* * uClibc 0.9.26 (at least) doesn't define this prototype. The buffer * must be at least 16 characters long. */ char *inet_ntoa_r(const struct in_addr in, char buffer[]); #else /* * My solaris 5.6 system running gcc 2.8.1 does *not* have this prototype * in any system include file! Isn't that weird? Loading @@ -7,3 +18,5 @@ char *inet_ntoa_r(const struct in_addr in, char *buffer, int buflen); #endif #endif lib/inet_ntop.c +12 −1 Original line number Diff line number Diff line Loading @@ -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); Loading lib/setup.h +4 −0 Original line number Diff line number Diff line Loading @@ -276,4 +276,8 @@ typedef int curl_socket_t; #define LIBIDN_REQUIRED_VERSION "0.4.1" #ifdef __UCLIBC_MAJOR__ #define HAVE_INET_NTOA_R_2_ARGS 1 #endif #endif /* __CONFIG_H */ Loading
lib/ftp.c +2 −2 Original line number Diff line number Diff line Loading @@ -1524,7 +1524,7 @@ static CURLcode ftp_state_pasv_resp(struct connectdata *conn, &separator[2], &num, &separator[3])) { char sep1 = separator[0]; const char sep1 = separator[0]; int i; /* The four separators should be identical, or else this is an oddly Loading @@ -1539,7 +1539,7 @@ static CURLcode ftp_state_pasv_resp(struct connectdata *conn, newport = num; /* use the same IP we are already connected to */ snprintf(newhost, NEWHOST_BUFSIZE, "%s", conn->ip_addr_str, newhost); snprintf(newhost, NEWHOST_BUFSIZE, "%s", conn->ip_addr_str); } } else Loading
lib/if2ip.c +1 −10 Original line number Diff line number Diff line Loading @@ -65,10 +65,6 @@ #include <sys/sockio.h> #endif #if defined(HAVE_INET_NTOA_R) && !defined(HAVE_INET_NTOA_R_DECL) #include "inet_ntoa_r.h" #endif #ifdef VMS #include <inet.h> #endif Loading Loading @@ -113,12 +109,7 @@ char *Curl_if2ip(const char *interface, char *buf, int buf_size) struct sockaddr_in *s = (struct sockaddr_in *)&req.ifr_dstaddr; memcpy(&in, &(s->sin_addr.s_addr), sizeof(in)); #if defined(HAVE_INET_NTOA_R) ip = inet_ntoa_r(in,buf,buf_size); #else ip = strncpy(buf,inet_ntoa(in),buf_size); ip[buf_size - 1] = 0; #endif ip = Curl_inet_ntop(s->sin_family, &in, buf, buf_size); } sclose(dummy); } Loading
lib/inet_ntoa_r.h +13 −0 Original line number Diff line number Diff line #ifndef __INET_NTOA_R_H #define __INET_NTOA_R_H #include "setup.h" #ifdef HAVE_INET_NTOA_R_2_ARGS /* * uClibc 0.9.26 (at least) doesn't define this prototype. The buffer * must be at least 16 characters long. */ char *inet_ntoa_r(const struct in_addr in, char buffer[]); #else /* * My solaris 5.6 system running gcc 2.8.1 does *not* have this prototype * in any system include file! Isn't that weird? Loading @@ -7,3 +18,5 @@ char *inet_ntoa_r(const struct in_addr in, char *buffer, int buflen); #endif #endif
lib/inet_ntop.c +12 −1 Original line number Diff line number Diff line Loading @@ -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); Loading
lib/setup.h +4 −0 Original line number Diff line number Diff line Loading @@ -276,4 +276,8 @@ typedef int curl_socket_t; #define LIBIDN_REQUIRED_VERSION "0.4.1" #ifdef __UCLIBC_MAJOR__ #define HAVE_INET_NTOA_R_2_ARGS 1 #endif #endif /* __CONFIG_H */