return NOTMUCH_STATUS_NULL_POINTER;
*directory = NULL;
- /* XXX Handle read-only databases properly */
- if (notmuch->mode == NOTMUCH_DATABASE_MODE_READ_ONLY)
- return NOTMUCH_STATUS_READ_ONLY_DATABASE;
-
try {
- *directory = _notmuch_directory_create (notmuch, path, NOTMUCH_FIND_CREATE, &status);
+ *directory = _notmuch_directory_create (notmuch, path,
+ NOTMUCH_FIND_LOOKUP, &status);
} catch (const Xapian::Error &error) {
fprintf (stderr, "A Xapian exception occurred getting directory: %s.\n",
error.get_msg().c_str());
try {
status = _notmuch_database_filename_to_direntry (
- local, notmuch, filename, NOTMUCH_FIND_CREATE, &direntry);
- if (status)
+ local, notmuch, filename, NOTMUCH_FIND_LOOKUP, &direntry);
+ if (status || !direntry)
goto DONE;
term = talloc_asprintf (local, "%s%s", prefix, direntry);