mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-21 18:38:08 +01:00
lib/n_m_g_filename: catch Xapian exceptions, document NULL return
This is the same machinery as applied for notmuch_message_get_{thread,message}_id
This commit is contained in:
parent
46e8076281
commit
a606cba32b
3 changed files with 8 additions and 2 deletions
|
@ -1122,7 +1122,12 @@ _notmuch_message_ensure_filename_list (notmuch_message_t *message)
|
||||||
const char *
|
const char *
|
||||||
notmuch_message_get_filename (notmuch_message_t *message)
|
notmuch_message_get_filename (notmuch_message_t *message)
|
||||||
{
|
{
|
||||||
_notmuch_message_ensure_filename_list (message);
|
try {
|
||||||
|
_notmuch_message_ensure_filename_list (message);
|
||||||
|
} catch (Xapian::Error &error) {
|
||||||
|
LOG_XAPIAN_EXCEPTION (message, error);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
if (message->filename_list == NULL)
|
if (message->filename_list == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
|
@ -1433,6 +1433,8 @@ notmuch_message_count_files (notmuch_message_t *message);
|
||||||
* this function will arbitrarily return a single one of those
|
* this function will arbitrarily return a single one of those
|
||||||
* filenames. See notmuch_message_get_filenames for returning the
|
* filenames. See notmuch_message_get_filenames for returning the
|
||||||
* complete list of filenames.
|
* complete list of filenames.
|
||||||
|
*
|
||||||
|
* This function returns NULL if it triggers a Xapian exception.
|
||||||
*/
|
*/
|
||||||
const char *
|
const char *
|
||||||
notmuch_message_get_filename (notmuch_message_t *message);
|
notmuch_message_get_filename (notmuch_message_t *message);
|
||||||
|
|
|
@ -406,7 +406,6 @@ EOF
|
||||||
test_expect_equal_file EXPECTED OUTPUT
|
test_expect_equal_file EXPECTED OUTPUT
|
||||||
|
|
||||||
test_begin_subtest "Handle getting message filename from closed database"
|
test_begin_subtest "Handle getting message filename from closed database"
|
||||||
test_subtest_known_broken
|
|
||||||
cat c_head2 - c_tail <<'EOF' | test_C ${MAIL_DIR}
|
cat c_head2 - c_tail <<'EOF' | test_C ${MAIL_DIR}
|
||||||
{
|
{
|
||||||
const char *filename;
|
const char *filename;
|
||||||
|
|
Loading…
Reference in a new issue