forked from notmuch/notmuch
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathstatus.c
74 lines (65 loc) · 1.56 KB
/
status.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#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;
}
}