X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=src.lisp;h=44ec5ea47cbcf1aba5aa127633e5ec51d3bde338;hb=7960648a3b7cff1d4f0ea2b2a5569e910c95bf91;hp=ab13bad4a490d76a83fbe13d499e87eef7714d6a;hpb=3d8bae190ceef8b2b9f48fdffd6baacd270273d4;p=puri.git diff --git a/src.lisp b/src.lisp index ab13bad..44ec5ea 100644 --- a/src.lisp +++ b/src.lisp @@ -355,13 +355,19 @@ ;; Parsing (defparameter *excluded-characters* - '(;; `delims' (except #\%, because it's handled specially): + (append + ;; exclude control characters + (loop for i from 0 to #x1f + collect (code-char i)) + '(;; `delims' (except #\%, because it's handled specially): #\< #\> #\" #\space #\# + #\Rubout ;; (code-char #x7f) ;; `unwise': #\{ #\} #\| #\\ #\^ #\[ #\] #\`)) + "Excluded charcters from RFC2369 (http://www.ietf.org/rfc/rfc2396.txt 2.4.3)") (defun reserved-char-vector (chars &key except) - (do* ((a (make-array 127 :element-type 'bit :initial-element 0)) + (do* ((a (make-array 128 :element-type 'bit :initial-element 0)) (chars chars (cdr chars)) (c (car chars) (car chars))) ((null chars) a)