mu-init: insist that --maildir is absolute
This commit is contained in:
@ -89,8 +89,12 @@ struct Store::Private {
|
|||||||
Config make_config(XapianDb& xapian_db, const std::string& root_maildir,
|
Config make_config(XapianDb& xapian_db, const std::string& root_maildir,
|
||||||
Option<const Config&> conf) {
|
Option<const Config&> conf) {
|
||||||
|
|
||||||
Config config{xapian_db};
|
if (!g_path_is_absolute(root_maildir.c_str()))
|
||||||
|
throw Error{Error::Code::File,
|
||||||
|
"root maildir path is not absolute ({})",
|
||||||
|
root_maildir};
|
||||||
|
|
||||||
|
Config config{xapian_db};
|
||||||
if (conf)
|
if (conf)
|
||||||
config.import_configurable(*conf);
|
config.import_configurable(*conf);
|
||||||
|
|
||||||
|
|||||||
@ -77,8 +77,8 @@ public:
|
|||||||
* Construct a store for a not-yet-existing document database
|
* Construct a store for a not-yet-existing document database
|
||||||
*
|
*
|
||||||
* @param path path to the database
|
* @param path path to the database
|
||||||
* @param root_maildir maildir to use for this store
|
* @param root_maildir absolute path to maildir to use for this store
|
||||||
* @param config a configuration object
|
* @param conf a configuration object
|
||||||
*
|
*
|
||||||
* @return a store or an error
|
* @return a store or an error
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -22,7 +22,8 @@ use =<maildir>= as the root-maildir.
|
|||||||
|
|
||||||
By default, *mu* uses the *MAILDIR* environment; if it is not set, it uses =~/Maildir=
|
By default, *mu* uses the *MAILDIR* environment; if it is not set, it uses =~/Maildir=
|
||||||
if it is an existing directory. If neither of those can be used, the ~--maildir~
|
if it is an existing directory. If neither of those can be used, the ~--maildir~
|
||||||
option is required.
|
option is required; it must be an absolute path (but ~~/~ expansion is
|
||||||
|
performed).
|
||||||
|
|
||||||
** --my-address=<email-address-or-regex>
|
** --my-address=<email-address-or-regex>
|
||||||
|
|
||||||
|
|||||||
@ -45,6 +45,9 @@ Mu::mu_cmd_init(const Options& opts)
|
|||||||
return Err(Error::Code::InvalidArgument,
|
return Err(Error::Code::InvalidArgument,
|
||||||
"missing --maildir parameter and could "
|
"missing --maildir parameter and could "
|
||||||
"not determine default");
|
"not determine default");
|
||||||
|
else if (!g_path_is_absolute(opts.init.maildir.c_str()))
|
||||||
|
return Err(Error{Error::Code::File,
|
||||||
|
"--maildir is not absolute"});
|
||||||
|
|
||||||
MemDb mdb;
|
MemDb mdb;
|
||||||
Config conf{mdb};
|
Config conf{mdb};
|
||||||
|
|||||||
Reference in New Issue
Block a user