mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-21 10:28:09 +01:00
f32e52448b
This function is a parallel to print_status_query() or print_status_database(). Thanks to David Bremner for the suggestion!
74 lines
1.6 KiB
C
74 lines
1.6 KiB
C
#include "notmuch-client.h"
|
|
|
|
notmuch_status_t
|
|
print_status_query (const char *loc,
|
|
const notmuch_query_t *query,
|
|
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_query_get_database (query);
|
|
msg = notmuch_database_status_string (notmuch);
|
|
if (msg)
|
|
fputs (msg, stderr);
|
|
}
|
|
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,
|
|
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;
|
|
}
|
|
}
|