diff --git a/parity/configuration.rs b/parity/configuration.rs index 17a0bef29..4c3bcbf1c 100644 --- a/parity/configuration.rs +++ b/parity/configuration.rs @@ -511,6 +511,8 @@ impl Configuration { } fn directories(&self) -> Directories { + use util::path; + let db_path = replace_home(self.args.flag_datadir.as_ref().unwrap_or(&self.args.flag_db_path)); let keys_path = replace_home( @@ -524,6 +526,12 @@ impl Configuration { let dapps_path = replace_home(&self.args.flag_dapps_path); let signer_path = replace_home(&self.args.flag_signer_path); + if self.args.flag_geth { + let geth_path = path::ethereum::default(); + ::std::fs::create_dir_all(geth_path.as_path()).unwrap_or_else( + |e| warn!("Failed to create '{}' for geth mode: {}", &geth_path.to_str().unwrap(), e)); + } + Directories { keys: keys_path, db: db_path,