From ada9c742c6c27e8fc158ead738849ce4635cadd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20=C5=BD=C3=A1dn=C3=ADk?= Date: Fri, 17 Dec 2021 23:09:44 +0200 Subject: [PATCH] Fix broken env var reading on startup (#513) --- src/main.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main.rs b/src/main.rs index 4039e4057..f64bad00a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -417,7 +417,9 @@ fn gather_parent_env_vars(engine_state: &mut EngineState, stack: &mut Stack) { for (name, val) in std::env::vars() { fake_env_file.push_str(&name); fake_env_file.push('='); + fake_env_file.push('"'); fake_env_file.push_str(&val); + fake_env_file.push('"'); fake_env_file.push('\n'); } @@ -452,8 +454,12 @@ fn gather_parent_env_vars(engine_state: &mut EngineState, stack: &mut Stack) { span, }) = parts.get(2) { + let bytes = engine_state.get_span_contents(span); + let bytes = bytes.strip_prefix(&[b'"']).unwrap_or(bytes); + let bytes = bytes.strip_suffix(&[b'"']).unwrap_or(bytes); + Value::String { - val: String::from_utf8_lossy(engine_state.get_span_contents(span)).to_string(), + val: String::from_utf8_lossy(bytes).to_string(), span: *span, } } else {