From 03cd9f222bf12a68b496bf600d631f38943fd2b2 Mon Sep 17 00:00:00 2001 From: Michael Aaron Murphy <mmstickman@gmail.com> Date: Tue, 28 Nov 2017 15:32:20 -0500 Subject: [PATCH] Re-enable Empty Strings & Allow Empty Outputs Closes #611 Closes #573 --- src/parser/shell_expand/mod.rs | 4 +++- src/shell/job.rs | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/parser/shell_expand/mod.rs b/src/parser/shell_expand/mod.rs index 4a84b2cb..8eab906d 100644 --- a/src/parser/shell_expand/mod.rs +++ b/src/parser/shell_expand/mod.rs @@ -43,7 +43,9 @@ fn expand_process<E: Expander>( quoted: bool, ) { if let Some(mut output) = expander.command(command) { - if quoted { + if output.is_empty() { + return + } else if quoted { let output: &str = if let Some(pos) = output.rfind(|x| x != '\n') { &output[..pos + 1] } else { diff --git a/src/shell/job.rs b/src/shell/job.rs index 3047e73d..514911c6 100644 --- a/src/shell/job.rs +++ b/src/shell/job.rs @@ -39,7 +39,7 @@ impl Job { let mut expanded = Array::new(); expanded.grow(self.args.len()); expanded.extend( - self.args.drain().flat_map(|arg| expand_arg(&arg, shell)).filter(|x| !x.is_empty()), + self.args.drain().flat_map(|arg| expand_arg(&arg, shell)), ); self.args = expanded; } -- GitLab