This passes the NULL return inside _ensure_maildir_flags does not
break anything. Probably this should be handled more explicitely.
message->maildir_flags = NULL;
}
}
message->maildir_flags = NULL;
}
}
+ /* n_m_get_filenames returns NULL for errors, which terminates the
+ * loop */
for (filenames = notmuch_message_get_filenames (message);
notmuch_filenames_valid (filenames);
notmuch_filenames_move_to_next (filenames)) {
for (filenames = notmuch_message_get_filenames (message);
notmuch_filenames_valid (filenames);
notmuch_filenames_move_to_next (filenames)) {
EOF
test_expect_equal_file EXPECTED OUTPUT
EOF
test_expect_equal_file EXPECTED OUTPUT
+test_begin_subtest "Handle read maildir flag with closed database"
+cat c_head2 - c_tail <<'EOF' | test_C ${MAIL_DIR}
+ {
+ notmuch_bool_t is_set = -1;
+ is_set = notmuch_message_has_maildir_flag (message, 'S');
+ printf("%d\n%d\n", message != NULL, is_set == FALSE || is_set == TRUE);
+ }
+EOF
+cat <<EOF > EXPECTED
+== stdout ==
+1
+1
+== stderr ==
+EOF
+test_expect_equal_file EXPECTED OUTPUT
+