This avoids reading the configuration file twice.
---
 lib/open.cc | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/lib/open.cc b/lib/open.cc
index 7673e875..54e71fec 100644
--- a/lib/open.cc
+++ b/lib/open.cc
@@ -442,8 +442,7 @@ notmuch_database_open_with_config (const char 
*database_path,
     if (status)
        goto DONE;
 
-    if (! (notmuch->xapian_path = talloc_asprintf (local, "%s/%s", 
notmuch_path, "xapian"))) {
-       message = strdup ("Out of memory\n");
+    if (! (notmuch->xapian_path = talloc_asprintf (notmuch, "%s/%s", 
notmuch_path, "xapian"))) {
        status = NOTMUCH_STATUS_OUT_OF_MEMORY;
        goto DONE;
     }
@@ -550,12 +549,16 @@ notmuch_database_create_with_config (const char 
*database_path,
        goto DONE;
     }
 
-    /* XXX this reads the config file twice, which is a bit wasteful */
-    status = notmuch_database_open_with_config (database_path,
-                                               
NOTMUCH_DATABASE_MODE_READ_WRITE,
-                                               config_path,
-                                               profile,
-                                               &notmuch, &message);
+    if (! (notmuch->xapian_path = talloc_asprintf (notmuch, "%s/%s", 
notmuch_path, "xapian"))) {
+       status = NOTMUCH_STATUS_OUT_OF_MEMORY;
+       goto DONE;
+    }
+
+    status = _finish_open (notmuch,
+                          profile,
+                          NOTMUCH_DATABASE_MODE_READ_WRITE,
+                          key_file,
+                          &message);
     if (status)
        goto DONE;
 
-- 
2.30.1
_______________________________________________
notmuch mailing list -- notmuch@notmuchmail.org
To unsubscribe send an email to notmuch-le...@notmuchmail.org

Reply via email to