]> gitweb.factorcode.org Git - factor.git/commitdiff
io.sockets.unix: cleanup two usages of 'rot' and use struct setter instead of memcpy
authorSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Mon, 31 Aug 2009 03:21:14 +0000 (22:21 -0500)
committerSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Mon, 31 Aug 2009 03:21:14 +0000 (22:21 -0500)
basis/io/sockets/unix/unix.factor

index ec8b4206e3c1d2c82302e23701a0fc1013903e4c..9803ec8e69c72fea721e5fbe9529cbbbffbdb10f 100644 (file)
@@ -61,8 +61,8 @@ M: object ((client)) ( addrspec -- fd )
 
 : server-socket-fd ( addrspec type -- fd )
     [ dup protocol-family ] dip socket-fd
-    dup init-server-socket
-    dup handle-fd rot make-sockaddr/size bind io-error ;
+    [ init-server-socket ] keep
+    [ handle-fd swap make-sockaddr/size bind io-error ] keep ;
 
 M: object (server) ( addrspec -- handle )
     [
@@ -148,7 +148,7 @@ M: local make-sockaddr
     dup length 1 + max-un-path > [ "Path too long" throw ] when
     "sockaddr-un" <c-object>
     AF_UNIX over set-sockaddr-un-family
-    dup sockaddr-un-path rot utf8 string>alien dup length memcpy ;
+    [ [ utf8 string>alien ] dip set-sockaddr-un-path ] keep ;
 
 M: local parse-sockaddr
     drop