diff options
author | Carl Worth <cworth@cworth.org> | 2009-11-11 17:01:55 -0800 |
---|---|---|
committer | Carl Worth <cworth@cworth.org> | 2009-11-11 17:01:55 -0800 |
commit | 305e76bc0ab2e7f3bd1ff2580e8d5dac8b4a7164 (patch) | |
tree | 96760f7ac15b036af80f28f1ba53690cb7741410 /lib/database.cc | |
parent | 69611e66a589881bf4de9786d3f6df991c604f3d (diff) |
notmuch: Add a configuration system.
This will allow for things like the database path to be specified
without any cheesy NOTMUCH_BASE environment variable. It also will
allow "notmuch reply" to recognize the user's email address when
constructing a reply in order to do the right thing, (that is, to use
the user's address to which mail was sent as From:, and not to reply
to the user's own addresses).
With this change, the "notmuch setup" command is now strictly for
changing the configuration of notmuch. It no longer creates the
database, but instead instructs the user to call "notmuch new" to do
that.
Diffstat (limited to 'lib/database.cc')
-rw-r--r-- | lib/database.cc | 31 |
1 files changed, 4 insertions, 27 deletions
diff --git a/lib/database.cc b/lib/database.cc index 4524016b..6b7ad49d 100644 --- a/lib/database.cc +++ b/lib/database.cc @@ -391,22 +391,6 @@ parse_references (void *ctx, } } -char * -notmuch_database_default_path (void) -{ - char *path; - - if (getenv ("NOTMUCH_BASE")) - return strdup (getenv ("NOTMUCH_BASE")); - - if (asprintf (&path, "%s/mail", getenv ("HOME")) == -1) { - fprintf (stderr, "Out of memory.\n"); - return xstrdup(""); - } - - return path; -} - notmuch_database_t * notmuch_database_create (const char *path) { @@ -414,10 +398,11 @@ notmuch_database_create (const char *path) char *notmuch_path = NULL; struct stat st; int err; - char *local_path = NULL; - if (path == NULL) - path = local_path = notmuch_database_default_path (); + if (path == NULL) { + fprintf (stderr, "Error: Cannot create a database for a NULL path.\n"); + goto DONE; + } err = stat (path, &st); if (err) { @@ -447,8 +432,6 @@ notmuch_database_create (const char *path) DONE: if (notmuch_path) talloc_free (notmuch_path); - if (local_path) - free (local_path); return notmuch; } @@ -460,12 +443,8 @@ notmuch_database_open (const char *path) char *notmuch_path = NULL, *xapian_path = NULL; struct stat st; int err; - char *local_path = NULL; unsigned int i; - if (path == NULL) - path = local_path = notmuch_database_default_path (); - if (asprintf (¬much_path, "%s/%s", path, ".notmuch") == -1) { notmuch_path = NULL; fprintf (stderr, "Out of memory\n"); @@ -520,8 +499,6 @@ notmuch_database_open (const char *path) } DONE: - if (local_path) - free (local_path); if (notmuch_path) free (notmuch_path); if (xapian_path) |