]> gitweb.factorcode.org Git - factor.git/commitdiff
io.sockets: Windows doesn't recognize 0.0.0.0. Add a method for
authorDoug Coleman <doug.coleman@gmail.com>
Mon, 7 Mar 2016 21:59:17 +0000 (13:59 -0800)
committerDoug Coleman <doug.coleman@gmail.com>
Mon, 7 Mar 2016 22:07:01 +0000 (14:07 -0800)
resolve-localhost for Windows, and make the default ipv4 make-sockaddr use
127.0.0.1 since we are making a sockaddr for ipv4 anyway and 127.0.0.1 is
cross-platform. Fixes #85.

basis/io/sockets/sockets.factor
basis/io/sockets/windows/windows.factor

index a9f891213693f541f5915facfb247b9d06579d91..fc9b7b44cbe403729d13610535cd1b91e8fc79aa 100644 (file)
@@ -101,7 +101,7 @@ M: ipv4 make-sockaddr ( inet -- sockaddr )
         AF_INET >>family
         swap
         [ port>> htons >>port ]
-        [ host>> "0.0.0.0" or ]
+        [ host>> "127.0.0.1" or ]
         [ inet-pton uint deref >>addr ] tri ;
 
 M: ipv4 parse-sockaddr ( sockaddr-in addrspec -- newaddrspec )
index e45eef239356f0c0857c2de92f5bb5e2c02db7f5..9cdf24274a22b38f0484e3b5fccccdcd1b67c436 100755 (executable)
@@ -325,3 +325,9 @@ M: windows (send) ( packet addrspec datagram -- )
 M: windows host-name
     256 [ <byte-array> dup ] keep gethostname socket-error
     ascii alien>string ;
+
+M: windows resolve-localhost
+    ipv6-supported?
+    { T{ ipv4 f "127.0.0.1" } T{ ipv6 f "::" } }
+    { T{ ipv4 f "127.0.0.1" } }
+    ? ;