lib: return "" rather than NULL from notmuch_thread_get_authors

The current behaviour is at best under-documented. The modified test in
T470-missing-headers.sh previously relied on printf doing the right
thing with NULL, which seems icky.

The use of talloc_strdup here is probably overkill, but it avoids
having to enforce that thread->authors is never mutated outside
_resolve_thread_authors_string.
This commit is contained in:
David Bremner 2017-12-14 22:29:57 -04:00
parent 8e1c3fa5bb
commit 7cfa1c6961
2 changed files with 4 additions and 1 deletions

View file

@ -160,6 +160,9 @@ _resolve_thread_authors_string (notmuch_thread_t *thread)
thread->authors_array = NULL; thread->authors_array = NULL;
g_ptr_array_free (thread->matched_authors_array, true); g_ptr_array_free (thread->matched_authors_array, true);
thread->matched_authors_array = NULL; thread->matched_authors_array = NULL;
if (!thread->authors)
thread->authors = talloc_strdup(thread, "");
} }
/* clean up the ugly "Lastname, Firstname" format that some mail systems /* clean up the ugly "Lastname, Firstname" format that some mail systems

View file

@ -25,7 +25,7 @@ NOTMUCH_NEW >/dev/null
test_begin_subtest "Search: text" test_begin_subtest "Search: text"
output=$(notmuch search '*' | notmuch_search_sanitize) output=$(notmuch search '*' | notmuch_search_sanitize)
test_expect_equal "$output" "\ test_expect_equal "$output" "\
thread:XXX 2001-01-05 [1/1] (null); (inbox unread) thread:XXX 2001-01-05 [1/1] ; (inbox unread)
thread:XXX 1970-01-01 [1/1] Notmuch Test Suite; (inbox unread)" thread:XXX 1970-01-01 [1/1] Notmuch Test Suite; (inbox unread)"
test_begin_subtest "Search: json" test_begin_subtest "Search: json"