aboutsummaryrefslogtreecommitdiff
path: root/alacritty/src/cli.rs
diff options
context:
space:
mode:
authorChristian Duerr <contact@christianduerr.com>2020-01-12 01:24:56 +0100
committerGitHub <noreply@github.com>2020-01-12 01:24:56 +0100
commit09ed64bd365bdb294a29e2e6b0149b0581a1fa81 (patch)
treea6c8ba50b47b806f1bc82847198d070d66633984 /alacritty/src/cli.rs
parenta82df6ac4309f16bd1c75d13f1f4f1b9f79582eb (diff)
downloadr-alacritty-09ed64bd365bdb294a29e2e6b0149b0581a1fa81.tar.gz
r-alacritty-09ed64bd365bdb294a29e2e6b0149b0581a1fa81.tar.bz2
r-alacritty-09ed64bd365bdb294a29e2e6b0149b0581a1fa81.zip
Fix crash with invalid working directory
Diffstat (limited to 'alacritty/src/cli.rs')
-rw-r--r--alacritty/src/cli.rs10
1 files changed, 6 insertions, 4 deletions
diff --git a/alacritty/src/cli.rs b/alacritty/src/cli.rs
index a7b97385..7e45e242 100644
--- a/alacritty/src/cli.rs
+++ b/alacritty/src/cli.rs
@@ -16,7 +16,7 @@ use std::cmp::max;
use std::path::PathBuf;
use clap::{crate_authors, crate_description, crate_name, crate_version, App, Arg};
-use log::{self, LevelFilter};
+use log::{self, error, LevelFilter};
use alacritty_terminal::config::{Delta, Dimensions, Shell, DEFAULT_NAME};
use alacritty_terminal::index::{Column, Line};
@@ -260,12 +260,14 @@ impl Options {
}
pub fn into_config(self, mut config: Config) -> Config {
+ match self.working_dir.or_else(|| config.working_directory.take()) {
+ Some(ref wd) if !wd.is_dir() => error!("Unable to set working directory to {:?}", wd),
+ wd => config.working_directory = wd,
+ }
+
if let Some(lcr) = self.live_config_reload {
config.set_live_config_reload(lcr);
}
- if let Some(wd) = self.working_dir {
- config.set_working_directory(Some(wd));
- }
config.shell = self.command.or(config.shell);
config.hold = self.hold;