X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=status.c;h=01fd8c99b8069030ffde0c026a095cbd701cbdfb;hp=45d3fb4e230e9426a194e045421aaaa6dcba684b;hb=f32e52448b8665dbf335fd97a21b49108e05a6c0;hpb=ccf0db161590e2aac7db0e049547c347ab4db528 diff --git a/status.c b/status.c index 45d3fb4e..01fd8c99 100644 --- a/status.c +++ b/status.c @@ -20,6 +20,26 @@ print_status_query (const char *loc, return status; } +notmuch_status_t +print_status_message (const char *loc, + const notmuch_message_t *message, + notmuch_status_t status) +{ + if (status) { + const char *msg; + notmuch_database_t *notmuch; + + fprintf (stderr, "%s: %s\n", loc, + notmuch_status_to_string (status)); + + notmuch = notmuch_message_get_database (message); + msg = notmuch_database_status_string (notmuch); + if (msg) + fputs (msg, stderr); + } + return status; +} + notmuch_status_t print_status_database (const char *loc, const notmuch_database_t *notmuch, @@ -36,3 +56,19 @@ print_status_database (const char *loc, } return status; } + +int +status_to_exit (notmuch_status_t status) +{ + switch (status) { + case NOTMUCH_STATUS_SUCCESS: + return EXIT_SUCCESS; + case NOTMUCH_STATUS_OUT_OF_MEMORY: + case NOTMUCH_STATUS_XAPIAN_EXCEPTION: + case NOTMUCH_STATUS_DUPLICATE_MESSAGE_ID: + case NOTMUCH_STATUS_FILE_ERROR: + return EX_TEMPFAIL; + default: + return EXIT_FAILURE; + } +}