diff options
author | David Bremner <david@tethera.net> | 2020-04-12 20:17:20 -0300 |
---|---|---|
committer | David Bremner <david@tethera.net> | 2020-04-13 17:14:50 -0300 |
commit | 02112728433cb08ea2501d937a2ca3cb73a0d85b (patch) | |
tree | 3256c77d7a9545d6f5de6add598d485b2758c7c6 | |
parent | 2c1f783f5f4ad28d89f2e83d7253bae7bba98440 (diff) |
status: add print_status_gzbytes
This is in the client code, rather than libnotmuch_util, because it
prints to stderr. Also it in pretends to generate notmuch status
codes.
-rw-r--r-- | notmuch-client.h | 8 | ||||
-rw-r--r-- | status.c | 14 |
2 files changed, 21 insertions, 1 deletions
diff --git a/notmuch-client.h b/notmuch-client.h index 89e15ba6..467e1d84 100644 --- a/notmuch-client.h +++ b/notmuch-client.h @@ -49,6 +49,7 @@ #include <errno.h> #include <signal.h> #include <ctype.h> +#include <zlib.h> #include "talloc-extra.h" #include "crypto.h" @@ -469,7 +470,7 @@ notmuch_database_dump (notmuch_database_t *notmuch, dump_include_t include, bool gzip_output); -/* If status is non-zero (i.e. error) print appropriate +/* If status indicates error print appropriate * messages to stderr. */ @@ -491,6 +492,11 @@ print_status_database (const char *loc, int status_to_exit (notmuch_status_t status); +notmuch_status_t +print_status_gzbytes (const char *loc, + gzFile file, + int bytes); + #include "command-line-arguments.h" extern const char *notmuch_requested_db_uuid; @@ -72,3 +72,17 @@ status_to_exit (notmuch_status_t status) 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; + } +} + |