+
+
+;;; main
+
+(define (main)
+ (let ((progname (car (argv)))
+ (args (cdr (argv))))
+ (if (or (< (length args) 2)
+ (equal? (car args) "-h")
+ (equal? (car args) "--help"))
+ (print "Usage:\n"
+ progname " -h/--help\n"
+ progname " gopher-root-dir server-hostname server-port")
+ (let ((root (car args))
+ (hostname (cadr args))
+ (port (if (= (length args) 3) (string->number (caddr args)) 70)))
+ (if port
+ (run-server root hostname port)
+ (error "Invalid port argument." port))))))
+
+(main)
+
+;; (define (test)
+ ;; (run-server "gopher-root" "localhost" 70))