X-Git-Url: https://thelambdalab.xyz/gitweb/index.cgi?p=scratchy.git;a=blobdiff_plain;f=scratchy.scm;h=0b81523080ea1d9f46373f31f9dc68be81a407d6;hp=6914fb67543b45a3875d64cc63faca6006670f77;hb=843f30f3749a5a47d12446d93c2e364b2956e5a7;hpb=3c2370f9bd510b66e06ebbed8f6334d6dbae2e07 diff --git a/scratchy.scm b/scratchy.scm index 6914fb6..0b81523 100644 --- a/scratchy.scm +++ b/scratchy.scm @@ -1,6 +1,6 @@ ;;; Scratchy gopher server ;; -;; Requires Chicken 5.0.0. +;; Requires Chicken 5 ;; ;;; Imports @@ -20,7 +20,7 @@ ;;; Global constants -(define scratchy-version "1.2.0") +(define scratchy-version "1.2.1") (define scratchy-footer (conc "\n" @@ -63,15 +63,15 @@ " on " (seconds->string))) (condition-case (let* ((line (read-line in-port)) - (selector (string-trim-both line))) + (selector-raw (string-trim-both line)) + (selector (if (= (string-length selector-raw) 0) + "/" + selector-raw))) (condition-case (begin (with-output-to-port out-port (lambda () - (serve-selector (if (= (string-length selector) 0) - "/" - selector) - config))) + (serve-selector selector config))) (print "... served selector '" selector "'. Closing connection.")) (o (exn) (print-error-message o out-port) @@ -121,11 +121,11 @@ (selector (car selector-list)) (arguments (cdr selector-list))) (if (string-contains selector "|") - (let ((l (string-split selector "|"))) + (let ((l (string-split selector "|" #t))) (serve-script (car l) (cdr l) config)) (case (infer-selector-type selector) ((1) (serve-directory-file selector config)) - ((7) (let ((l (string-split selector "?"))) + ((7) (let ((l (string-split selector "?" #t))) (serve-script (car l) arguments config))) ((0) (serve-text-file selector config)) ((h) (serve-url selector config))