inet_aton() should do DNS lookup only if arg isn't a dotted-quad
[p5sagit/p5-mst-13.2.git] / ext / Socket / Socket.xs
index 82ed442..cefcb24 100644 (file)
@@ -711,13 +711,11 @@ inet_aton(host)
        {
        struct in_addr ip_address;
        struct hostent * phe;
-       int ok;
+       int ok = inet_aton(host, &ip_address);
 
-       if (phe = gethostbyname(host)) {
+       if (!ok && (phe = gethostbyname(host))) {
                Copy( phe->h_addr, &ip_address, phe->h_length, char );
                ok = 1;
-       } else {
-               ok = inet_aton(host, &ip_address);
        }
 
        ST(0) = sv_newmortal();