X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=status.c;h=8bc2fe4b47ecba8af5246f8389f9e62f2e33f88c;hp=8fa81cbf7a2b85c2bf671c517b9edc212622d8b4;hb=e9d73f90a6d3945b7ebda9d95ec719e0ba0c9756;hpb=33c8777a967ece2dd4bbda7e83a4e07c195abf51 diff --git a/status.c b/status.c index 8fa81cbf..8bc2fe4b 100644 --- a/status.c +++ b/status.c @@ -19,3 +19,36 @@ print_status_query (const char *loc, } return status; } + +notmuch_status_t +print_status_database (const char *loc, + const notmuch_database_t *notmuch, + notmuch_status_t status) +{ + if (status) { + const char *msg; + + fprintf (stderr, "%s: %s\n", loc, + notmuch_status_to_string (status)); + msg = notmuch_database_status_string (notmuch); + if (msg) + fputs (msg, stderr); + } + 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; + } +}