diff --git a/CHANGELOG.md b/CHANGELOG.md index 352a916..b561da7 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ ## CHANGELOG +### v0.4.2 (2020-06-05) + +* Fixed parsing issue for commands evaluated by other commands (for example if conditions) + ### v0.4.1 (2020-06-04) * New Enable to error an exec command via new --fail-on-error flag #108 diff --git a/docs/api/duckscript_sdk/src/duckscriptsdk/utils/eval.rs.html b/docs/api/duckscript_sdk/src/duckscriptsdk/utils/eval.rs.html index fc5c418..f1949e1 100644 --- a/docs/api/duckscript_sdk/src/duckscriptsdk/utils/eval.rs.html +++ b/docs/api/duckscript_sdk/src/duckscriptsdk/utils/eval.rs.html @@ -63,6 +63,9 @@ 63 64 65 +66 +67 +68
use duckscript::parser; use duckscript::runner; @@ -95,7 +98,10 @@ line_buffer.push(' '); } - let line_str = line_buffer.replace("\r", "").replace("\n", ""); + let line_str = line_buffer + .replace("\r", "") + .replace("\n", "") + .replace("\\", "\\\\"); match parser::parse_text(&line_str) { Ok(instructions) => { diff --git a/duckscript_cli/Cargo.toml b/duckscript_cli/Cargo.toml index b6fc4f4..f417d5f 100644 --- a/duckscript_cli/Cargo.toml +++ b/duckscript_cli/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "duckscript_cli" -version = "0.4.1" +version = "0.4.2" authors = ["Sagie Gur-Ari"] description = "The duckscript command line executable." license = "Apache-2.0" @@ -28,7 +28,7 @@ path = "src/main.rs" [dependencies] duckscript = { version = "^0.4.0", path = "../duckscript" } -duckscriptsdk = { version = "^0.4.1", path = "../duckscript_sdk" } +duckscriptsdk = { version = "^0.4.2", path = "../duckscript_sdk" } [badges.codecov] branch = "master" diff --git a/duckscript_sdk/Cargo.toml b/duckscript_sdk/Cargo.toml index 60155e3..45e396a 100644 --- a/duckscript_sdk/Cargo.toml +++ b/duckscript_sdk/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "duckscriptsdk" -version = "0.4.1" +version = "0.4.2" authors = ["Sagie Gur-Ari "] description = "The duckscript SDK." license = "Apache-2.0" diff --git a/duckscript_sdk/src/utils/eval.rs b/duckscript_sdk/src/utils/eval.rs index d668ab3..625f8e1 100644 --- a/duckscript_sdk/src/utils/eval.rs +++ b/duckscript_sdk/src/utils/eval.rs @@ -29,7 +29,10 @@ pub(crate) fn eval( line_buffer.push(' '); } - let line_str = line_buffer.replace("\r", "").replace("\n", ""); + let line_str = line_buffer + .replace("\r", "") + .replace("\n", "") + .replace("\\", "\\\\"); match parser::parse_text(&line_str) { Ok(instructions) => {