reply: Remove extraneous space from generated References

Previously, the References header code seemed to assume
notmuch_message_get_header would return NULL if the header was not
present, but it actually returns "".  As a result of this, it was
inserting an unnecessary space when concatenating an empty or missing
original references header with the new reference.

This shows up in only two tests because the text reply format later
passes the whole reply template through g_mime_filter_headers, which
has the side effect of stripping out this extra space.
This commit is contained in:
Austin Clements 2013-08-16 11:35:42 -04:00 committed by David Bremner
parent ad7bb423fb
commit 6cdab6e0b7
3 changed files with 7 additions and 4 deletions

View file

@ -537,9 +537,12 @@ create_reply_message(void *ctx,
"In-Reply-To", in_reply_to);
orig_references = notmuch_message_get_header (message, "references");
if (!orig_references)
/* Treat errors like missing References headers. */
orig_references = "";
references = talloc_asprintf (ctx, "%s%s%s",
orig_references ? orig_references : "",
orig_references ? " " : "",
*orig_references ? orig_references : "",
*orig_references ? " " : "",
in_reply_to);
g_mime_object_set_header (GMIME_OBJECT (reply),
"References", references);

View file

@ -599,7 +599,7 @@ cat <<EOF >EXPECTED
"From": "Notmuch Test Suite <test_suite@notmuchmail.org>",
"To": "Carl Worth <cworth@cworth.org>, cworth@cworth.org",
"In-reply-to": "<87liy5ap00.fsf@yoom.home.cworth.org>",
"References": " <87liy5ap00.fsf@yoom.home.cworth.org>"},
"References": "<87liy5ap00.fsf@yoom.home.cworth.org>"},
"original": {"id": "XXXXX",
"match": false,
"excluded": false,

View file

@ -242,7 +242,7 @@ test_expect_equal_json "$output" '
"reply-headers": {
"From": "Notmuch Test Suite <test_suite@notmuchmail.org>",
"In-reply-to": "<'${gen_msg_id}'>",
"References": " <'${gen_msg_id}'>",
"References": "<'${gen_msg_id}'>",
"Subject": "Re: \u00e0\u00df\u00e7",
"To": "\u2603 <snowman@example.com>"
}