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 d8e69319..e59cfcdc 100644
--- a/lib/open.cc
+++ b/lib/open.cc
@@ -439,8 +439,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;
}
@@ -545,12 +544,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,
- ¬much, &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-leave@notmuchmail.org