]> gitweb.factorcode.org Git - factor.git/commitdiff
io.sockets.secure.openssl: simplify error handling of do-ssl-read/write
authorJohn Benediktsson <mrjbq7@gmail.com>
Fri, 19 May 2023 22:11:55 +0000 (15:11 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Fri, 19 May 2023 22:11:55 +0000 (15:11 -0700)
basis/io/sockets/secure/openssl/openssl.factor

index ae467bae748b736a74bb1cd998614bb1086394ad..0d938d84bb909922306aeacb9cc87685bae783a6 100644 (file)
@@ -342,9 +342,7 @@ PRIVATE>
 ! Input ports
 : do-ssl-read ( buffer ssl-handle -- event/f )
     2dup handle>> swap [ buffer-end ] [ buffer-capacity ] bi SSL_read
-    [ check-ssl-error ] keep swap [ 2nip ] [
-        dup 0 > [ swap buffer+ ] [ 2drop ] if f
-    ] if* ;
+    dup 0 > [ nip swap buffer+ f ] [ check-ssl-error nip ] if ;
 
 : throw-if-terminated ( ssl-handle -- ssl-handle )
     dup terminated>> [ premature-close-error ] when ;
@@ -356,9 +354,7 @@ M: ssl-handle refill
 ! Output ports
 : do-ssl-write ( buffer ssl-handle -- event/f )
     2dup handle>> swap [ buffer@ ] [ buffer-length ] bi SSL_write
-    [ check-ssl-error ] keep swap [ 2nip ] [
-        dup 0 > [ swap buffer-consume ] [ 2drop ] if f
-    ] if* ;
+    dup 0 > [ nip swap buffer-consume f ] [ check-ssl-error nip ] if ;
 
 M: ssl-handle drain
     throw-if-terminated