isimplify reading with read-all - holymoly - A tor enabled gopher client written in CHICKEN scheme Err vernunftzentrum.de 70 hgit clone git://vernunftzentrum.de/holymoly.git URL:git://vernunftzentrum.de/holymoly.git vernunftzentrum.de 70 1Log /ckeen/repos/holymoly/log.gph vernunftzentrum.de 70 1Files /ckeen/repos/holymoly/files.gph vernunftzentrum.de 70 1Refs /ckeen/repos/holymoly/refs.gph vernunftzentrum.de 70 1README /ckeen/repos/holymoly/file/README.gph vernunftzentrum.de 70 1LICENSE /ckeen/repos/holymoly/file/LICENSE.gph vernunftzentrum.de 70 i--- Err vernunftzentrum.de 70 1commit ba38ca12811a4b1c0fe67ea6fae55314ff036035 /ckeen/repos/holymoly/commit/ba38ca12811a4b1c0fe67ea6fae55314ff036035.gph vernunftzentrum.de 70 1parent fb810a280878b4732fb0f0547d03fd8fac24bcef /ckeen/repos/holymoly/commit/fb810a280878b4732fb0f0547d03fd8fac24bcef.gph vernunftzentrum.de 70 hAuthor: Christian Kellermann URL:mailto:ckeen@pestilenz.org vernunftzentrum.de 70 iDate: Tue, 24 Apr 2018 15:35:17 +0200 Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 isimplify reading with read-all Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 iDiffstat: Err vernunftzentrum.de 70 i holymoly.scm | 15 +++++---------- Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i1 file changed, 5 insertions(+), 10 deletions(-) Err vernunftzentrum.de 70 i--- Err vernunftzentrum.de 70 1diff --git a/holymoly.scm b/holymoly.scm /ckeen/repos/holymoly/file/holymoly.scm.gph vernunftzentrum.de 70 i@@ -9,7 +9,8 @@ Err vernunftzentrum.de 70 i matchable Err vernunftzentrum.de 70 i srfi-71 Err vernunftzentrum.de 70 i srfi-4 Err vernunftzentrum.de 70 i- uri-common) Err vernunftzentrum.de 70 i+ uri-common Err vernunftzentrum.de 70 i+ utils) Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i (include "proxy.scm") Err vernunftzentrum.de 70 i (include "cursor.scm") Err vernunftzentrum.de 70 i@@ -149,14 +150,6 @@ Err vernunftzentrum.de 70 i (wrefresh (status-win)) Err vernunftzentrum.de 70 i (doupdate)))) Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i- Err vernunftzentrum.de 70 i-(define (read-until delim port) Err vernunftzentrum.de 70 i- (let rl ((r '()) Err vernunftzentrum.de 70 i- (l (read-line port))) Err vernunftzentrum.de 70 i- (if (or (equal? delim l) (eof-object? l)) Err vernunftzentrum.de 70 i- (reverse r) Err vernunftzentrum.de 70 i- (rl (cons l r) (read-line port))))) Err vernunftzentrum.de 70 i- Err vernunftzentrum.de 70 i (define (request-resource server #!optional (resource index) (port gopher-port) until-eof?) Err vernunftzentrum.de 70 i (new-status "Connecting to ~a:~a ~a " server port resource) Err vernunftzentrum.de 70 i (condition-case Err vernunftzentrum.de 70 i@@ -167,7 +160,9 @@ Err vernunftzentrum.de 70 i (display (string-append resource (string #\linefeed #\return)) o) Err vernunftzentrum.de 70 i (let ((response (if until-eof? Err vernunftzentrum.de 70 i (read-u8vector #f i) Err vernunftzentrum.de 70 i- (read-until "." i)))) Err vernunftzentrum.de 70 i+ (let* ((raw (read-all i)) Err vernunftzentrum.de 70 i+ (l (string-split raw "\r\n"))) Err vernunftzentrum.de 70 i+ (butlast l))))) Err vernunftzentrum.de 70 i (close-input-port i) Err vernunftzentrum.de 70 i (close-output-port o) Err vernunftzentrum.de 70 i response)) Err vernunftzentrum.de 70 .