Welcome to the CHICKEN Scheme pasting service
openssl startup call refactor added by andyjpb on Sun Nov 23 01:58:20 2014
diff -urp v1.6.4/openssl.scm v1.6.4-andyjpb-fix/openssl.scm --- v1.6.4/openssl.scm 2014-11-23 00:07:52.324097414 +0000 +++ v1.6.4-andyjpb-fix/openssl.scm 2014-11-23 00:57:24.071254788 +0000 @@ -446,7 +446,6 @@ EOF (outbuf (and outbufsize (fx> outbufsize 0) "")) (output (lambda (buffer) - (startup) (when (> (##sys#size buffer) 0) ; Undefined behaviour for 0 bytes! (let loop ((offset 0) (size (##sys#size buffer))) (let ((ret (ssl-call/timeout @@ -458,6 +457,7 @@ EOF (make-output-port ;; write (lambda (buffer) + (startup) (if outbuf (begin (set! outbuf (string-append outbuf buffer)) @@ -476,7 +476,7 @@ EOF (shutdown))) ;; flush (lambda () - (when outbuf + (when (and (startup) outbuf) (output outbuf) (set! outbuf ""))))))) (##sys#setslot in 3 "(ssl)")