Modified script argument behaviour.
[scratchy.git] / scratchy.scm
index bdbdee4..435fe15 100644 (file)
@@ -1,11 +1,11 @@
 ;;; Scratchy gopher server
 ;;
-;; Requires Chicken 5.0.0.
+;; Requires Chicken 5
 ;;
 
 ;;; Imports
 
-(import (chicken tcp)
+(import tcp6
         (chicken port)
         (chicken io)
         (chicken string)
@@ -20,7 +20,7 @@
 
 ;;; Global constants
 
-(define scratchy-version "1.0.1")
+(define scratchy-version "1.2.1")
 
 (define scratchy-footer
   (conc "\n"
@@ -42,7 +42,7 @@
 
 (define (run-server config)
   (set-buffering-mode! (current-output-port) #:line)
-  (let ((listener (tcp-listen (config-port config))))
+  (let ((listener (tcp-listen (config-port config) 10 "::")))
     (print "Gopher server listening on port " (config-port config) " ...")
     (drop-privs config)
     (server-loop listener config))
          (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))