From 5643ece77c327bad2bca260ca1c24645bf3f05d9 Mon Sep 17 00:00:00 2001 From: Amr Bashir Date: Fri, 2 Sep 2022 15:30:42 +0200 Subject: [PATCH] fix(cli/mobile): strip `\n` before parsing json (#5126) --- tooling/cli/src/mobile/init.rs | 2 +- tooling/cli/src/mobile/mod.rs | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/tooling/cli/src/mobile/init.rs b/tooling/cli/src/mobile/init.rs index c1a9fcdb3..991e85d12 100644 --- a/tooling/cli/src/mobile/init.rs +++ b/tooling/cli/src/mobile/init.rs @@ -62,7 +62,7 @@ pub fn init_dot_cargo(app: &App, android: Option<(&AndroidEnv, &AndroidConfig)>) pub fn exec( target: Target, wrapper: &TextWrapper, - non_interactive: bool, + #[allow(unused_variables)] non_interactive: bool, #[allow(unused_variables)] reinstall_deps: bool, ) -> Result { let tauri_config = get_tauri_config(None)?; diff --git a/tooling/cli/src/mobile/mod.rs b/tooling/cli/src/mobile/mod.rs index dba5eda47..4e62c6d7e 100644 --- a/tooling/cli/src/mobile/mod.rs +++ b/tooling/cli/src/mobile/mod.rs @@ -184,10 +184,10 @@ fn read_options(config: &TauriConfig, target: Target) -> CliOptions { let mut attempt = 0; let max_tries = 5; - let buffer = loop { + let (buffer, len) = loop { let mut buffer = String::new(); - if conn.read_line(&mut buffer).is_ok() { - break buffer; + if let Ok(len) = conn.read_line(&mut buffer) { + break (buffer, len); } std::thread::sleep(std::time::Duration::from_secs(1)); attempt += 1; @@ -199,7 +199,8 @@ fn read_options(config: &TauriConfig, target: Target) -> CliOptions { std::process::exit(1); } }; - let options: CliOptions = serde_json::from_str(&buffer).expect("invalid CLI options"); + + let options: CliOptions = serde_json::from_str(&buffer[..len - 1]).expect("invalid CLI options"); for (k, v) in &options.vars { set_var(k, v); }