summaryrefslogtreecommitdiffstats
path: root/http-cgi.scm
diff options
context:
space:
mode:
Diffstat (limited to 'http-cgi.scm')
-rw-r--r--http-cgi.scm34
1 files changed, 18 insertions, 16 deletions
diff --git a/http-cgi.scm b/http-cgi.scm
index a313758..097da06 100644
--- a/http-cgi.scm
+++ b/http-cgi.scm
@@ -1,5 +1,5 @@
;;; "http-cgi.scm" service HTTP or CGI requests. -*-scheme-*-
-; Copyright 1997, 1998, 2000, 2001 Aubrey Jaffer
+; Copyright 1997, 1998, 2000, 2001, 2003 Aubrey Jaffer
;
;Permission to copy this software, to modify it, to redistribute it,
;to distribute modified versions, and to use it for any purpose is
@@ -8,7 +8,7 @@
;1. Any copy made of this software must include this copyright notice
;in full.
;
-;2. I have made no warrantee or representation that the operation of
+;2. I have made no warranty or representation that the operation of
;this software will be error-free, and I am under no obligation to
;provide any services, by way of maintenance, update, or otherwise.
;
@@ -25,6 +25,10 @@
(require 'html-form)
(require 'parameters)
(require 'string-case)
+(require 'string-port)
+(require 'string-search)
+(require 'database-commands)
+(require 'common-list-functions) ; position
;;@code{(require 'http)} or @code{(require 'cgi)}
;;@ftindex http
@@ -342,22 +346,20 @@
reply))))
(define (coerce->list str type)
- (case type
- ((expression)
- (slib:warn 'coerce->list 'unsafe 'read)
- (do ((tok (read port) (read port))
- (lst '() (cons tok lst)))
- ((or (null? tok) (eof-object? tok)) lst)))
- ((symbol)
- (call-with-input-string str
- (lambda (port)
+ (call-with-input-string str
+ (lambda (port)
+ (case type
+ ((expression)
+ (slib:warn 'coerce->list 'unsafe 'read)
+ (do ((tok (read port) (read port))
+ (lst '() (cons tok lst)))
+ ((or (null? tok) (eof-object? tok)) lst)))
+ ((symbol)
(do ((tok (scanf-read-list " %s" port)
(scanf-read-list " %s" port))
(lst '() (cons (string-ci->symbol (car tok)) lst)))
- ((or (null? tok) (eof-object? tok)) lst)))))
- (else
- (call-with-input-string str
- (lambda (port)
+ ((or (null? tok) (eof-object? tok)) lst)))
+ (else
(do ((tok (scanf-read-list " %s" port)
(scanf-read-list " %s" port))
(lst '() (cons (coerce (car tok) type) lst)))
@@ -411,7 +413,7 @@
(define comnam #f)
(define find-command?
(lambda (cname)
- (define tryp (parameter-list-ref query-alist cname))
+ (define tryp (and query-alist (parameter-list-ref query-alist cname)))
(cond ((not tryp) #f)
(comnam
(set! query-alist (remove-parameter cname query-alist)))