# original patch by Florian Anderiasch
int ip_len;
unsigned long n;
struct in_addr myaddr;
+#ifdef HAVE_INET_PTON
+ char str[40];
+#endif
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &ip, &ip_len) == FAILURE) {
return;
n = strtoul(ip, NULL, 0);
myaddr.s_addr = htonl(n);
+#ifdef HAVE_INET_PTON
+ if (inet_ntop(AF_INET, &myaddr, str, sizeof(str))) {
+ RETURN_RT_STRING(str, ZSTR_DUPLICATE);
+ } else {
+ RETURN_FALSE;
+ }
+#else
RETURN_RT_STRING(inet_ntoa(myaddr), ZSTR_DUPLICATE);
+#endif
}
/* }}} */