diff options
| author | David Bremner <david@tethera.net> | 2022-05-25 07:51:14 -0300 |
|---|---|---|
| committer | David Bremner <david@tethera.net> | 2022-06-25 16:05:45 -0300 |
| commit | e70df920851c6c00000b7707e3b61650548fbce7 (patch) | |
| tree | f09c0e8f3b88eb12c5bf571a34468f185bfca7a0 | |
| parent | 00ec2b271d457bf7b81efed8ff91e52290a38f4a (diff) | |
lib/tag: handle NULL argument to notmuch_tags_valid
Make the behaviour when passed NULL consistent with
notmuch_filenames_valid. The library already passes the result of
notmuch_message_get_tags without checking for NULL, so it should be
handled.
| -rw-r--r-- | lib/notmuch.h | 3 | ||||
| -rw-r--r-- | lib/tags.c | 2 | ||||
| -rwxr-xr-x | test/T565-lib-tags.sh | 1 |
3 files changed, 4 insertions, 2 deletions
diff --git a/lib/notmuch.h b/lib/notmuch.h index 2e6ec2af..44263a66 100644 --- a/lib/notmuch.h +++ b/lib/notmuch.h @@ -2262,6 +2262,9 @@ notmuch_message_properties_destroy (notmuch_message_properties_t *properties); * valid string. Whereas when this function returns FALSE, * notmuch_tags_get will return NULL. * + * It is acceptable to pass NULL for 'tags', in which case this + * function will always return FALSE. + * See the documentation of notmuch_message_get_tags for example code * showing how to iterate over a notmuch_tags_t object. */ @@ -48,7 +48,7 @@ _notmuch_tags_create (const void *ctx, notmuch_string_list_t *list) notmuch_bool_t notmuch_tags_valid (notmuch_tags_t *tags) { - return tags->iterator != NULL; + return tags && (tags->iterator != NULL); } const char * diff --git a/test/T565-lib-tags.sh b/test/T565-lib-tags.sh index 0f3595d2..2a59f8dd 100755 --- a/test/T565-lib-tags.sh +++ b/test/T565-lib-tags.sh @@ -68,7 +68,6 @@ test_expect_equal_file EXPECTED OUTPUT.clean restore_database test_begin_subtest "NULL tags are not valid" -test_subtest_known_broken cat c_head - c_tail <<'EOF' | test_C ${MAIL_DIR} { notmuch_bool_t valid = TRUE; |
