mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-21 18:38:08 +01:00
lib: add a log function with output to a string in notmuch_database_t
In principle in the future this could do something fancier than asprintf.
This commit is contained in:
parent
84d3b15d25
commit
b53e1a2da7
4 changed files with 39 additions and 0 deletions
|
@ -154,6 +154,10 @@ struct _notmuch_database {
|
|||
unsigned int last_doc_id;
|
||||
uint64_t last_thread_id;
|
||||
|
||||
/* error reporting; this value persists only until the
|
||||
* next library call. May be NULL */
|
||||
char *status_string;
|
||||
|
||||
Xapian::QueryParser *query_parser;
|
||||
Xapian::TermGenerator *term_gen;
|
||||
Xapian::ValueRangeProcessor *value_range_processor;
|
||||
|
|
|
@ -348,6 +348,23 @@ notmuch_status_to_string (notmuch_status_t status)
|
|||
}
|
||||
}
|
||||
|
||||
void
|
||||
_notmuch_database_log (notmuch_database_t *notmuch,
|
||||
const char *format,
|
||||
...)
|
||||
{
|
||||
va_list va_args;
|
||||
|
||||
va_start (va_args, format);
|
||||
|
||||
if (notmuch->status_string)
|
||||
talloc_free (notmuch->status_string);
|
||||
|
||||
notmuch->status_string = talloc_vasprintf (notmuch, format, va_args);
|
||||
|
||||
va_end (va_args);
|
||||
}
|
||||
|
||||
static void
|
||||
find_doc_ids_for_term (notmuch_database_t *notmuch,
|
||||
const char *term,
|
||||
|
@ -863,6 +880,7 @@ notmuch_database_open_verbose (const char *path,
|
|||
|
||||
notmuch = talloc_zero (NULL, notmuch_database_t);
|
||||
notmuch->exception_reported = FALSE;
|
||||
notmuch->status_string = NULL;
|
||||
notmuch->path = talloc_strdup (notmuch, path);
|
||||
|
||||
if (notmuch->path[strlen (notmuch->path) - 1] == '/')
|
||||
|
@ -2552,3 +2570,9 @@ notmuch_database_get_all_tags (notmuch_database_t *db)
|
|||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
const char *
|
||||
notmuch_database_status_string (notmuch_database_t *notmuch)
|
||||
{
|
||||
return notmuch->status_string;
|
||||
}
|
||||
|
|
|
@ -190,6 +190,10 @@ _notmuch_message_id_compressed (void *ctx, const char *message_id);
|
|||
notmuch_status_t
|
||||
_notmuch_database_ensure_writable (notmuch_database_t *notmuch);
|
||||
|
||||
void
|
||||
_notmuch_database_log (notmuch_database_t *notmuch,
|
||||
const char *format, ...);
|
||||
|
||||
const char *
|
||||
_notmuch_database_relative_path (notmuch_database_t *notmuch,
|
||||
const char *path);
|
||||
|
|
|
@ -301,6 +301,13 @@ notmuch_database_open_verbose (const char *path,
|
|||
notmuch_database_t **database,
|
||||
char **error_message);
|
||||
|
||||
/**
|
||||
* Retrieve last status string for given database.
|
||||
*
|
||||
*/
|
||||
const char *
|
||||
notmuch_database_status_string (notmuch_database_t *notmuch);
|
||||
|
||||
/**
|
||||
* Commit changes and close the given notmuch database.
|
||||
*
|
||||
|
|
Loading…
Reference in a new issue