iSanitize status line msg - holymoly - A tor enabled gopher client written in CHICKEN scheme Err vernunftzentrum.de 70 hgit clone git://vernunftzentrum.de/holymoly.git URL:git://vernunftzentrum.de/holymoly.git vernunftzentrum.de 70 1Log /ckeen/repos/holymoly/log.gph vernunftzentrum.de 70 1Files /ckeen/repos/holymoly/files.gph vernunftzentrum.de 70 1Refs /ckeen/repos/holymoly/refs.gph vernunftzentrum.de 70 1README /ckeen/repos/holymoly/file/README.gph vernunftzentrum.de 70 1LICENSE /ckeen/repos/holymoly/file/LICENSE.gph vernunftzentrum.de 70 i--- Err vernunftzentrum.de 70 1commit e85ae8fc44a31816b3b4c1f56756e20cc205b399 /ckeen/repos/holymoly/commit/e85ae8fc44a31816b3b4c1f56756e20cc205b399.gph vernunftzentrum.de 70 1parent 76540ec5fe88b93b47c89c9a96c31b3382a87a1c /ckeen/repos/holymoly/commit/76540ec5fe88b93b47c89c9a96c31b3382a87a1c.gph vernunftzentrum.de 70 hAuthor: Christian Kellermann URL:mailto:ckeen@pestilenz.org vernunftzentrum.de 70 iDate: Thu, 8 Mar 2018 22:11:47 +0100 Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 iSanitize status line msg Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 iI have found out the hard way that this is passed to snprintf twice so Err vernunftzentrum.de 70 iwe need to escape any remaining tildes or this will get interpreted as Err vernunftzentrum.de 70 icontrol character... Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 iDiffstat: Err vernunftzentrum.de 70 i holymoly.scm | 19 +++++++++---------- Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i1 file changed, 9 insertions(+), 10 deletions(-) Err vernunftzentrum.de 70 i--- Err vernunftzentrum.de 70 1diff --git a/holymoly.scm b/holymoly.scm /ckeen/repos/holymoly/file/holymoly.scm.gph vernunftzentrum.de 70 i@@ -1,4 +1,4 @@ Err vernunftzentrum.de 70 i-(use tcp miscmacros srfi-13 srfi-4 posix ncurses matchable srfi-71) Err vernunftzentrum.de 70 i+(use irregex tcp miscmacros srfi-13 srfi-4 posix ncurses matchable srfi-71) Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i (include "proxy.scm") Err vernunftzentrum.de 70 i (include "cursor.scm") Err vernunftzentrum.de 70 i@@ -115,15 +115,14 @@ Err vernunftzentrum.de 70 i (input-loop (cons input r)))))))) Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i (define (new-status . msg) Err vernunftzentrum.de 70 i- (let-values (((l c) (getmaxyx (status-win)))) Err vernunftzentrum.de 70 i- (let ((m (apply sprintf msg))) Err vernunftzentrum.de 70 i- (wclear (status-win)) Err vernunftzentrum.de 70 i- (mvwprintw (status-win) 0 0 (if (> (string-length m) c) Err vernunftzentrum.de 70 i- (string-take m c) Err vernunftzentrum.de 70 i- m)) Err vernunftzentrum.de 70 i- (mvwchgat (status-win) 0 0 -1 A_STANDOUT 0 #f) Err vernunftzentrum.de 70 i- (wrefresh (status-win)) Err vernunftzentrum.de 70 i- (doupdate)))) Err vernunftzentrum.de 70 i+ (let* ((m0 (apply sprintf msg)) Err vernunftzentrum.de 70 i+ (m (irregex-replace/all "~" m0 "~~"))) Err vernunftzentrum.de 70 i+ (let-values (((l c) (getmaxyx (status-win)))) Err vernunftzentrum.de 70 i+ (wclear (status-win)) Err vernunftzentrum.de 70 i+ (mvwprintw (status-win) 0 0 m) Err vernunftzentrum.de 70 i+ (mvwchgat (status-win) 0 0 -1 A_STANDOUT 0 #f) Err vernunftzentrum.de 70 i+ (wrefresh (status-win)) Err vernunftzentrum.de 70 i+ (doupdate)))) Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i (define-record entry type title selector host port rest) Err vernunftzentrum.de 70 i (define-record-printer entry Err vernunftzentrum.de 70 .