diff options
-rw-r--r-- | users/sterni/mblog/note.lisp | 12 | ||||
-rw-r--r-- | users/sterni/mblog/packages.lisp | 2 |
2 files changed, 9 insertions, 5 deletions
diff --git a/users/sterni/mblog/note.lisp b/users/sterni/mblog/note.lisp index b1f903c9a7aa..f953d6b1e662 100644 --- a/users/sterni/mblog/note.lisp +++ b/users/sterni/mblog/note.lisp @@ -3,12 +3,16 @@ ;;; util +;; TODO(sterni): merge this with mblog::*copy-buffer-size* +(defvar *copy-buffer-size* 4096) + (defun html-escape-stream (in out) "Escape characters read from stream IN and write them to - stream OUT escaped using WHO:ESCAPE-CHAR-MINIMAL." - (loop for char = (read-char in nil nil) - while char - do (write-string (who:escape-char-minimal char) out))) + stream OUT escaped using WHO:ESCAPE-STRING-MINIMAL." + (let ((buf (make-string *copy-buffer-size*))) + (loop for len = (read-sequence buf in) + while (> len 0) + do (write-string (who:escape-string-minimal (subseq buf 0 len)) out)))) (defun cid-header-value (cid) "Takes a Content-ID as present in Apple Notes' <object> tags and properly diff --git a/users/sterni/mblog/packages.lisp b/users/sterni/mblog/packages.lisp index 651dc6f2618d..94fce16d40cf 100644 --- a/users/sterni/mblog/packages.lisp +++ b/users/sterni/mblog/packages.lisp @@ -19,7 +19,7 @@ :when-let :starts-with-subseq :ends-with-subseq) - (:import-from :who :escape-char-minimal) + (:import-from :who :escape-string-minimal) (:export :apple-note :apple-note-uuid |