Fix thinko: call-with-input-octets doesn't handle sub-range arguments.
authorChris Hanson <org/chris-hanson/cph>
Fri, 4 May 2012 08:01:55 +0000 (01:01 -0700)
committerChris Hanson <org/chris-hanson/cph>
Fri, 4 May 2012 08:01:55 +0000 (01:01 -0700)
src/runtime/html-form-codec.scm

index dd4a52f62203860f2482329062c10ec311c5f238..c7f8dc06faa42334328600dae79a194261c563a4 100644 (file)
@@ -34,20 +34,19 @@ USA.
 ;;;; Decoder
 
 (define (decode-www-form-urlencoded octets start end)
-  (call-with-input-octets octets start end
-    (lambda (input)
-      (port/set-coding input 'us-ascii)
-      (port/set-line-ending input 'crlf)
-      (let loop ((data '()))
-       (let ((char (read-char input)))
-         (if (eof-object? char)
-             (reverse! data)
-             (begin
-               (unread-char char input)
-               (let ((name (decode-segment input #t)))
-                 (loop
-                  (cons (cons name (decode-segment input #f))
-                        data))))))))))
+  (let ((input (open-input-octets octets start end)))
+    (port/set-coding input 'us-ascii)
+    (port/set-line-ending input 'crlf)
+    (let loop ((data '()))
+      (let ((char (read-char input)))
+       (if (eof-object? char)
+           (reverse! data)
+           (begin
+             (unread-char char input)
+             (let ((name (decode-segment input #t)))
+               (loop
+                (cons (cons name (decode-segment input #f))
+                      data)))))))))
 
 (define (decode-segment input name?)
   (call-with-output-string