X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=strings.lisp;h=8eb08f74e9faa7ac1b243ee78988db6b2a239444;hb=f21d8902cf098dc991499a76cb290e52d3b4c39c;hp=179bdb3ccea252a7c415f58259aea1fe0bb44734;hpb=c09e2c2ead02aef697a02fb894bea2642c4c0d55;p=kmrcl.git diff --git a/strings.lisp b/strings.lisp index 179bdb3..8eb08f7 100644 --- a/strings.lisp +++ b/strings.lisp @@ -427,7 +427,7 @@ for characters in a string" (+ 10 (- code +char-code-upper-a+)) (- code +char-code-0+)))) -(defun uriencode-string (query) +(defun encode-uri-string (query) "Escape non-alphanumeric characters for URI fields" (declare (simple-string query) (optimize (speed 3) (safety 0) (space 0))) @@ -450,7 +450,7 @@ for characters in a string" (setf (schar str dpos) (hexchar (logand c 15)))) (setf (schar str dpos) ch))))) -(defun uridecode-string (query) +(defun decode-uri-string (query) "Unescape non-alphanumeric characters for URI fields" (declare (simple-string query) (optimize (speed 3) (safety 0) (space 0))) @@ -627,3 +627,10 @@ for characters in a string" (t (setq in-white nil) (write-char c stream))))))) + +(defun string->list (string) + (let ((eof (list nil))) + (with-input-from-string (stream string) + (do ((x (read stream nil eof) (read stream nil eof)) + (l nil (cons x l))) + ((eq x eof) (nreverse l))))))