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 <flo@chaoflow.net> wrote: > From: Andreas Amann <a.amann@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 >