[PATCH 1/3] cli: add utility routine to print error status.
David Bremner
david at tethera.net
Sun Sep 6 06:15:45 PDT 2015
No attention to formatting here, initially just focus on getting the
relevant strings out of the library.
---
Makefile.local | 1 +
notmuch-client.h | 9 +++++++++
status.c | 21 +++++++++++++++++++++
3 files changed, 31 insertions(+)
create mode 100644 status.c
diff --git a/Makefile.local b/Makefile.local
index 61a9c4c..d58cea0 100644
--- a/Makefile.local
+++ b/Makefile.local
@@ -271,6 +271,7 @@ dataclean: distclean
notmuch_client_srcs = \
command-line-arguments.c\
debugger.c \
+ status.c \
gmime-filter-reply.c \
hooks.c \
notmuch.c \
diff --git a/notmuch-client.h b/notmuch-client.h
index 882aa30..de8a3b1 100644
--- a/notmuch-client.h
+++ b/notmuch-client.h
@@ -449,6 +449,15 @@ notmuch_database_dump (notmuch_database_t *notmuch,
dump_format_t output_format,
notmuch_bool_t gzip_output);
+/* If status is non-zero (i.e. error) print appropriate
+ messages to stderr.
+*/
+
+notmuch_status_t
+print_status_query (const char *loc,
+ const notmuch_query_t *query,
+ notmuch_status_t status);
+
#include "command-line-arguments.h"
extern char *notmuch_requested_db_uuid;
diff --git a/status.c b/status.c
new file mode 100644
index 0000000..8fa81cb
--- /dev/null
+++ b/status.c
@@ -0,0 +1,21 @@
+#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;
+}
--
2.5.1
More information about the notmuch
mailing list