Fix --data-dir being incorrectly resolved
This commit is contained in:
parent
6150d05255
commit
8c1b207ac1
1 changed files with 11 additions and 8 deletions
19
src/main.rs
19
src/main.rs
|
|
@ -32,7 +32,6 @@ use clap::Parser;
|
||||||
use cookie::CookieJar;
|
use cookie::CookieJar;
|
||||||
use directories::{BaseDirs, ProjectDirs};
|
use directories::{BaseDirs, ProjectDirs};
|
||||||
use log::info;
|
use log::info;
|
||||||
use macros::some_or_return;
|
|
||||||
use toss::terminal::Terminal;
|
use toss::terminal::Terminal;
|
||||||
use ui::Ui;
|
use ui::Ui;
|
||||||
use vault::Vault;
|
use vault::Vault;
|
||||||
|
|
@ -83,13 +82,17 @@ struct Args {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn set_data_dir(config: &mut Config, args_data_dir: Option<PathBuf>) {
|
fn set_data_dir(config: &mut Config, args_data_dir: Option<PathBuf>) {
|
||||||
let data_dir = some_or_return!(args_data_dir);
|
if let Some(data_dir) = args_data_dir {
|
||||||
let data_dir = if let Some(base_dirs) = BaseDirs::new() {
|
// The data dir specified via args_data_dir is relative to the current
|
||||||
base_dirs.home_dir().join(data_dir)
|
// directory and needs no resolving.
|
||||||
} else {
|
config.data_dir = Some(data_dir);
|
||||||
data_dir
|
} else if let Some(data_dir) = &config.data_dir {
|
||||||
};
|
// Resolve the data dir specified in the config file relative to the
|
||||||
config.data_dir = Some(data_dir);
|
// user's home directory, if possible.
|
||||||
|
if let Some(base_dirs) = BaseDirs::new() {
|
||||||
|
config.data_dir = Some(base_dirs.home_dir().join(data_dir));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn set_ephemeral(config: &mut Config, args_ephemeral: bool) {
|
fn set_ephemeral(config: &mut Config, args_ephemeral: bool) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue