]> gitweb.factorcode.org Git - factor.git/commitdiff
io.sockets: Allow f in the port of an inet4.
authorDoug Coleman <doug.coleman@gmail.com>
Sun, 17 Mar 2019 17:12:04 +0000 (12:12 -0500)
committerDoug Coleman <doug.coleman@gmail.com>
Sun, 17 Mar 2019 17:14:56 +0000 (12:14 -0500)
Fixes #2019.

basis/io/sockets/sockets.factor

index bd006ca2aba0e9003c247b8ca322c3d41aa8059f..cfeed9ab031ed8492d939477fc1a71e3e8c534ef 100644 (file)
@@ -107,7 +107,7 @@ M: ipv4 empty-sockaddr drop sockaddr-in <struct> ;
     sockaddr-in <struct>
         AF_INET >>family
         swap
-        port>> htons >>port ; inline
+        port>> 0 or htons >>port ; inline
 
 M: ipv4 make-sockaddr ( inet -- sockaddr )
     [ make-sockaddr-part ]
@@ -122,7 +122,7 @@ M: ipv4 make-sockaddr-outgoing ( inet -- sockaddr )
 M: ipv4 parse-sockaddr ( sockaddr-in addrspec -- newaddrspec )
     [ addr>> uint <ref> ] dip inet-ntop <ipv4> ;
 
-TUPLE: inet4 < ipv4 { port integer read-only } ;
+TUPLE: inet4 < ipv4 { port maybe{ integer } read-only } ;
 
 : <inet4> ( host port -- inet4 )
     over check-ipv4 inet4 boa ;