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?;