X-Git-Url: https://thelambdalab.xyz/gitweb/index.cgi?p=scratchy.git;a=blobdiff_plain;f=burrower.scm;h=2886a07d75f1ee211f2e3eaca2edbe7294d2e6cd;hp=fa8e1662c24cf0331bb91b614bf7b69995447f47;hb=42a6a2732ebb0484460f089ca87acfe74d7fbb6b;hpb=d22cda7ea80777aa9ed10ec9b2917b9762fe5fe5 diff --git a/burrower.scm b/burrower.scm index fa8e166..2886a07 100644 --- a/burrower.scm +++ b/burrower.scm @@ -25,7 +25,7 @@ (define burrower-footer (conc "\n" "--------------------------------------------------\n" - "This gopher hole was dug using Burrower v" burrower-version "\n" + "This gopher hole was dug using Burrower v" burrower-version ".\n" "Powered by Chicken Scheme!")) ;;; Server loop @@ -38,6 +38,7 @@ (define-record config root-dir host port display-footer) (define (run-server config) + (set-buffering-mode! (current-output-port) #:line) (print "Gopher server listening on port " (config-port config) " ...") (let ((listener (tcp-listen (config-port config)))) (let server-loop () @@ -133,18 +134,21 @@ (serve-info-records (read-line))) (loop (peek-char))))))) (if (config-display-footer config) - (serve-info-records burrower-footer))) + (serve-info-records burrower-footer)) + (print ".\r")) (error "Index file not found.")))) (define (serve-text-file selector config) (let ((filename (make-pathname (config-root-dir config) selector))) (if (legal-filename? filename config) - (with-input-from-file filename - (lambda () - (for-each - (lambda (line) - (print line "\r")) - (read-lines)))) + (begin + (with-input-from-file filename + (lambda () + (for-each + (lambda (line) + (print line "\r")) + (read-lines)))) + (print ".\r")) (error "File not found." filename)))) (define (serve-binary-file selector config) @@ -303,9 +307,9 @@ (config-port-set! config (string->number (caddr args)))) (run-server config))))))) -(main) +;; (main) -;; (define (test) -;; (run-server (make-config "gopher-root" "localhost" 70 #t))) +(define (test) + (run-server (make-config "gopher-root" "localhost" 70 #t))) ;; (test)