+
+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;
+ }
+}
+
+notmuch_status_t
+print_status_gzbytes (const char *loc, gzFile file, int bytes)
+{
+ if (bytes <= 0) {
+ int errnum;
+ const char *errstr = gzerror (file, &errnum);
+ fprintf (stderr, "%s: zlib error %s (%d)\n", loc, errstr, errnum);
+ return NOTMUCH_STATUS_FILE_ERROR;
+ } else {
+ return NOTMUCH_STATUS_SUCCESS;
+ }
+}
+