const char *profile,
GKeyFile **key_file,
const char **database_path,
+ bool *split,
char **message)
{
notmuch_status_t status;
}
}
+ if (! *database_path) {
+ *database_path = _xdg_dir (ctx, "XDG_DATA_HOME", ".local/share", profile);
+ *split = true;
+ }
+
if (*database_path == NULL) {
*message = strdup ("Error: Cannot open a database for a NULL path.\n");
return NOTMUCH_STATUS_NULL_POINTER;
return NOTMUCH_STATUS_SUCCESS;
}
-static notmuch_status_t
-_choose_xapian_path (void *ctx, const char *database_path, const char **xapian_path,
- char **message_ptr)
+notmuch_status_t
+_notmuch_choose_xapian_path (void *ctx, const char *database_path,
+ const char **xapian_path, char **message_ptr)
{
notmuch_status_t status;
const char *trial_path, *notmuch_path;
notmuch_database_t *notmuch = NULL;
char *message = NULL;
GKeyFile *key_file = NULL;
+ bool split = false;
_init_libs ();
goto DONE;
}
- if ((status = _choose_database_path (local, config_path, profile, &key_file, &database_path,
+ if ((status = _choose_database_path (local, config_path, profile,
+ &key_file, &database_path, &split,
&message)))
goto DONE;
_set_database_path (notmuch, database_path);
- status = _choose_xapian_path (notmuch, database_path, ¬much->xapian_path, &message);
+ status = _notmuch_choose_xapian_path (notmuch, database_path,
+ ¬much->xapian_path, &message);
if (status)
goto DONE;
_init_libs ();
if ((status = _choose_database_path (local, config_path, profile,
- &key_file, &database_path, &message)))
+ &key_file, &database_path, &split,
+ &message)))
goto DONE;
status = _db_dir_exists (database_path, &message);