[PATCH 1/4] lib: add passthrough logger function
David Bremner
david at tethera.net
Fri Dec 26 09:42:38 PST 2014
As a first step to eliminating all the fprintfs in the library, make a
logger function that just calls fprintf. This is a bit more complex
than needed, because we want to do something more interesting with the
formatted string in the future.
---
lib/database.cc | 19 +++++++++++++++++++
lib/notmuch.h | 10 +++++++++-
2 files changed, 28 insertions(+), 1 deletion(-)
diff --git a/lib/database.cc b/lib/database.cc
index 3601f9d..f3c62ee 100644
--- a/lib/database.cc
+++ b/lib/database.cc
@@ -916,6 +916,25 @@ notmuch_database_open (const char *path,
return status;
}
+void
+notmuch_database_log (notmuch_database_t *notmuch,
+ const char *format,
+ ...)
+{
+ va_list va_args;
+ const char *message;
+
+ va_start (va_args, format);
+
+ message = talloc_vasprintf (notmuch, format, va_args);
+
+ /* XXX do something more clever here */
+ fputs (message, stderr);
+
+ talloc_free ((char *)message);
+
+}
+
notmuch_status_t
notmuch_database_close (notmuch_database_t *notmuch)
{
diff --git a/lib/notmuch.h b/lib/notmuch.h
index 220839b..c8c8124 100644
--- a/lib/notmuch.h
+++ b/lib/notmuch.h
@@ -279,7 +279,15 @@ notmuch_status_t
notmuch_database_open (const char *path,
notmuch_database_mode_t mode,
notmuch_database_t **database);
-
+/**
+ * Log a message to where the database is configured to log it
+ *
+ * Initially this does notmuch interesting, since the output is not
+ * yet configurable.
+ */
+void
+notmuch_database_log (notmuch_database_t *notmuch,
+ const char *format, ...);
/**
* Commit changes and close the given notmuch database.
*
--
2.1.3
More information about the notmuch
mailing list