inet_aton() should do DNS lookup only if arg isn't a dotted-quad
Gurusamy Sarathy [Fri, 10 Jul 1998 20:19:18 +0000 (20:19 +0000)]
(suggested by Philippe.Simonet@swisscom.com)

p4raw-id: //depot/perl@1402

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();