From 6d0a17c46ec112f99ebeefc9619dd9586fceaa46 Mon Sep 17 00:00:00 2001 From: Jani Nikula Date: Mon, 3 Feb 2014 21:51:41 +0200 Subject: [PATCH] cli: sanitize tabs and newlines to spaces in notmuch search Sanitize tabs and newlines to spaces rather than question marks in --output=summary --format=text output. This will also hide any difference in unfolding a header that has been folded with a tab. Our own header parser replaces tabs with spaces, while gmime would retain the tab. --- notmuch-search.c | 4 +++- test/T090-search-output.sh | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/notmuch-search.c b/notmuch-search.c index 91b5d105..0262eb30 100644 --- a/notmuch-search.c +++ b/notmuch-search.c @@ -41,7 +41,9 @@ sanitize_string (const void *ctx, const char *str) loop = out = talloc_strdup (ctx, str); for (; *loop; loop++) { - if ((unsigned char)(*loop) < 32) + if (*loop == '\t' || *loop == '\n') + *loop = ' '; + else if ((unsigned char)(*loop) < 32) *loop = '?'; } return out; diff --git a/test/T090-search-output.sh b/test/T090-search-output.sh index 5ccfeaf9..86544ac9 100755 --- a/test/T090-search-output.sh +++ b/test/T090-search-output.sh @@ -388,7 +388,7 @@ add_message "[subject]='two =?ISO-8859-1?Q?line=0A_subject?= headers'" notmuch search id:"$gen_msg_id" | notmuch_search_sanitize >OUTPUT cat <EXPECTED -thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; two line? subject headers (inbox unread) +thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; two line subject headers (inbox unread) EOF test_expect_equal_file OUTPUT EXPECTED