unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
From: Jani Nikula <jani@nikula.org>
To: notmuch@notmuchmail.org
Subject: [PATCH v2 1/7] cli: sanitize tabs and newlines to spaces in notmuch search
Date: Sat, 30 Nov 2013 17:33:50 +0200	[thread overview]
Message-ID: <e2c281b2dbb78bdd71a1bd1e480874d29812afdd.1385825425.git.jani@nikula.org> (raw)
In-Reply-To: <cover.1385825425.git.jani@nikula.org>
In-Reply-To: <cover.1385825425.git.jani@nikula.org>

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/search-output | 2 +-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/notmuch-search.c b/notmuch-search.c
index 7c973b3..11cd6ee 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/search-output b/test/search-output
index 5ccfeaf..86544ac 100755
--- a/test/search-output
+++ b/test/search-output
@@ -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 <<EOF >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
 
-- 
1.8.4.2

  reply	other threads:[~2013-11-30 15:34 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-30 15:33 [PATCH v2 0/7] lib: replace the message header parser with gmime Jani Nikula
2013-11-30 15:33 ` Jani Nikula [this message]
2013-11-30 15:33 ` [PATCH v2 2/7] cli: refactor reply from guessing Jani Nikula
2014-02-02 18:21   ` Mark Walters
2013-11-30 15:33 ` [PATCH v2 3/7] util: make sanitize string available in string util for reuse Jani Nikula
2014-02-02 18:24   ` Mark Walters
2013-11-30 15:33 ` [PATCH v2 4/7] cli: sanitize the received header before scanning for replies Jani Nikula
2013-11-30 15:33 ` [PATCH v2 5/7] lib: replace the header parser with gmime Jani Nikula
2013-11-30 15:33 ` [PATCH v2 6/7] lib: parse messages only once Jani Nikula
2013-11-30 15:33 ` [PATCH v2 7/7] HACK: fix broken messages in the perf test corpus Jani Nikula
2013-11-30 17:48   ` David Bremner
2014-01-15 18:03 ` [PATCH v2 0/7] lib: replace the message header parser with gmime David Bremner
2014-02-02 13:03   ` Jani Nikula
2014-02-02 18:15 ` Mark Walters
2014-02-02 19:32   ` Jani Nikula

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://notmuchmail.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e2c281b2dbb78bdd71a1bd1e480874d29812afdd.1385825425.git.jani@nikula.org \
    --to=jani@nikula.org \
    --cc=notmuch@notmuchmail.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).