Cool. This seems very reasonable.
Just some style nits: The three places where you have
sanitize_string(, there should be a space between the function name
and the paren. Relatedly, for(;*loop;loop++){ should be spaced out
like for (; *loop; loop++) {. (Curiously, there seems to be
anti-consensus on whether the brace should be on the same line or the
next, but otherwise the notmuch code is quite consistent about
spacing.) Also, existing code conventionally uses a variable named
local for function-level talloc contexts such as your ctx_quote.
On Sun, May 8, 2011 at 5:14 PM, Florian Friesdorf f...@chaoflow.net wrote:
From: Andreas Amann a.am...@ucc.ie
When a Subject field contained encoded CRLF sequences, these sequences
would appear unfiltered in the output of notmuch search. This confused
the notmuch emacs interface leading to Unexpected Output
messages. This is now fixed by replacing all characters with ASCII
code less than 32 with a question mark.
---
notmuch-search.c | 22 --
1 files changed, 20 insertions(+), 2 deletions(-)
diff --git a/notmuch-search.c b/notmuch-search.c
index 5e39511..e7fc41a 100644
--- a/notmuch-search.c
+++ b/notmuch-search.c
@@ -111,6 +111,20 @@ format_item_id_text (unused (const void *ctx),
printf (%s%s, item_type, item_id);
}
+static char *
+sanitize_string(const void *ctx, const char *str)
+{
+ char *out, *loop;
+
+ loop = out = talloc_strdup (ctx, str);
+
+ for(;*loop;loop++){
+ if ((unsigned char)(*loop) 32)
+ *loop = '?';
+ }
+ return out;
+}
+
static void
format_thread_text (const void *ctx,
const char *thread_id,
@@ -120,13 +134,17 @@ format_thread_text (const void *ctx,
const char *authors,
const char *subject)
{
+ void *ctx_quote = talloc_new (ctx);
+
printf (thread:%s %12s [%d/%d] %s; %s,
thread_id,
notmuch_time_relative_date (ctx, date),
matched,
total,
- authors,
- subject);
+ sanitize_string(ctx_quote, authors),
+ sanitize_string(ctx_quote, subject));
+
+ talloc_free (ctx_quote);
}
static void
--
1.7.5.1
___
notmuch mailing list
notmuch@notmuchmail.org
http://notmuchmail.org/mailman/listinfo/notmuch
___
notmuch mailing list
notmuch@notmuchmail.org
http://notmuchmail.org/mailman/listinfo/notmuch