diff options
author | Christian Duerr <contact@christianduerr.com> | 2020-01-12 01:24:56 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-01-12 01:24:56 +0100 |
commit | 09ed64bd365bdb294a29e2e6b0149b0581a1fa81 (patch) | |
tree | a6c8ba50b47b806f1bc82847198d070d66633984 /alacritty/src/cli.rs | |
parent | a82df6ac4309f16bd1c75d13f1f4f1b9f79582eb (diff) | |
download | r-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.rs | 10 |
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; |