From: David Bremner Date: Fri, 15 Dec 2017 02:29:57 +0000 (-0400) Subject: lib: return "" rather than NULL from notmuch_thread_get_authors X-Git-Tag: 0.26_rc0~11 X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=commitdiff_plain;h=7cfa1c69610bcf15fb47868131d3d9102f899225 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. --- diff --git a/lib/thread.cc b/lib/thread.cc index 1632da4c..3561b27f 100644 --- a/lib/thread.cc +++ b/lib/thread.cc @@ -160,6 +160,9 @@ _resolve_thread_authors_string (notmuch_thread_t *thread) thread->authors_array = NULL; g_ptr_array_free (thread->matched_authors_array, true); thread->matched_authors_array = NULL; + + if (!thread->authors) + thread->authors = talloc_strdup(thread, ""); } /* clean up the ugly "Lastname, Firstname" format that some mail systems diff --git a/test/T470-missing-headers.sh b/test/T470-missing-headers.sh index 4bf5d285..555fd4e9 100755 --- a/test/T470-missing-headers.sh +++ b/test/T470-missing-headers.sh @@ -25,7 +25,7 @@ NOTMUCH_NEW >/dev/null test_begin_subtest "Search: text" output=$(notmuch search '*' | notmuch_search_sanitize) 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)" test_begin_subtest "Search: json"