]> gitweb.factorcode.org Git - factor.git/commitdiff
io.sockets: fix for inet6 too.
authorDoug Coleman <doug.coleman@gmail.com>
Sun, 17 Mar 2019 17:23:34 +0000 (12:23 -0500)
committerDoug Coleman <doug.coleman@gmail.com>
Sun, 17 Mar 2019 17:23:34 +0000 (12:23 -0500)
"::1" 0 <inet4> utf8 <server>
"::1" f <inet4> utf8 <server>

Fixes #2109

basis/io/sockets/sockets.factor

index cfeed9ab031ed8492d939477fc1a71e3e8c534ef..a6ef8984b582b0c642c06e30a484b1024293c86d 100644 (file)
@@ -179,7 +179,7 @@ M: ipv6 empty-sockaddr drop sockaddr-in6 <struct> ;
     sockaddr-in6 <struct>
         AF_INET6 >>family
         swap
-        port>> htons >>port ; inline
+        port>> 0 or htons >>port ; inline
 
 M: ipv6 make-sockaddr ( inet -- sockaddr )
     [ make-sockaddr-in6-part ]
@@ -201,7 +201,7 @@ M: ipv6 present
     [ host>> ] [ scope-id>> ] bi
     [ number>string "%" glue ] unless-zero ;
 
-TUPLE: inet6 < ipv6 { port integer read-only } ;
+TUPLE: inet6 < ipv6 { port maybe{ integer } read-only } ;
 
 : <inet6> ( host port -- inet6 )
     [ dup check-ipv6 0 ] dip inet6 boa ;