From 7876e00dc801df2de75523b759d8385457a01697 Mon Sep 17 00:00:00 2001 From: Andrew Rioux Date: Sat, 2 Sep 2023 23:59:28 -0400 Subject: [PATCH] fix: improved the logic for generating binaries cross platform logic wasn't handled well for generating linux binaries on windows or vice versa --- sparse-05/sparse-05-client/src/commands/generate.rs | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/sparse-05/sparse-05-client/src/commands/generate.rs b/sparse-05/sparse-05-client/src/commands/generate.rs index 7a28404..30217c4 100644 --- a/sparse-05/sparse-05-client/src/commands/generate.rs +++ b/sparse-05/sparse-05-client/src/commands/generate.rs @@ -29,11 +29,9 @@ pub async fn generate(mut name: PathBuf, port: u16, target: TargetOs) -> anyhow: #[cfg(unix)] file.mode(0o755); - #[cfg(windows)] let old_file_part = name.file_name().unwrap().to_owned(); - #[cfg(windows)] - { + if matches!(target, TargetOs::Windows) { let mut file_part = name.file_name().unwrap().to_owned(); file_part.push(OsString::from(".exe")); name.pop(); @@ -42,13 +40,16 @@ pub async fn generate(mut name: PathBuf, port: u16, target: TargetOs) -> anyhow: let mut file = file.open(&name).await?; - #[cfg(windows)] - { + if matches!(target, TargetOs::Windows) { name.pop(); name.push(old_file_part); } - file.write_all(SPARSE_LINUX_SERVER_BINARY).await?; + file.write_all(match target { + TargetOs::Windows => SPARSE_WINDOWS_SERVER_BINARY, + TargetOs::Linux => SPARSE_LINUX_SERVER_BINARY, + }) + .await?; file.write_all(CONFIG_SEPARATOR).await?; file.write_all(&port.to_be_bytes()[..]).await?; file.write_all(keypair.public.as_bytes()).await?;