diff options
author | Austin Clements <amdragon@MIT.EDU> | 2012-04-30 12:25:34 -0400 |
---|---|---|
committer | David Bremner <bremner@debian.org> | 2012-05-05 10:12:26 -0300 |
commit | ba5729421825e0ec9d38aa9d656553f329aa6f09 (patch) | |
tree | 70986a01237436403048962d2e1728c4998c9067 /lib/notmuch.h | |
parent | 5fddc07dc31481453c1af186bf7da241c00cdbf1 (diff) |
lib/cli: Make notmuch_database_create return a status code
This is the notmuch_database_create equivalent of the previous change.
In this case, there were places where errors were not being propagated
correctly in notmuch_database_create or in calls to it. These have
been fixed, using the new status value.
Diffstat (limited to 'lib/notmuch.h')
-rw-r--r-- | lib/notmuch.h | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/lib/notmuch.h b/lib/notmuch.h index 44b0c460..e6e5cc2e 100644 --- a/lib/notmuch.h +++ b/lib/notmuch.h @@ -140,11 +140,25 @@ typedef struct _notmuch_filenames notmuch_filenames_t; * contained within 'path' can be added to the database by calling * notmuch_database_add_message. * - * In case of any failure, this function returns NULL, (after printing - * an error message on stderr). + * In case of any failure, this function returns an error status and + * sets *database to NULL (after printing an error message on stderr). + * + * Return value: + * + * NOTMUCH_STATUS_SUCCESS: Successfully created the database. + * + * NOTMUCH_STATUS_NULL_POINTER: The given 'path' argument is NULL. + * + * NOTMUCH_STATUS_OUT_OF_MEMORY: Out of memory. + * + * NOTMUCH_STATUS_FILE_ERROR: An error occurred trying to create the + * database file (such as permission denied, or file not found, + * etc.), or the database already exists. + * + * NOTMUCH_STATUS_XAPIAN_EXCEPTION: A Xapian exception occurred. */ -notmuch_database_t * -notmuch_database_create (const char *path); +notmuch_status_t +notmuch_database_create (const char *path, notmuch_database_t **database); typedef enum { NOTMUCH_DATABASE_MODE_READ_ONLY = 0, |