diff --git a/Cargo.toml b/Cargo.toml index 3235953..d3526a5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,7 +18,7 @@ default = ["bitcode"] bitcode = ["dep:bitcode"] [target.'cfg(target_os = "windows")'.dependencies] -windows = "0.58.0" +windows = { version = "0.58.0", features = ["Win32", "Win32_System", "Win32_System_SystemInformation"] } [profile.release] lto = "fat" diff --git a/src/main.rs b/src/main.rs index 6ea61c8..4406ae6 100644 --- a/src/main.rs +++ b/src/main.rs @@ -62,12 +62,11 @@ fn parse_memory_amount(s: &str) -> Result { fn print_usage() { // TODO(#20): A better usage/help command - println!("\nUsage: cmbr {{COMMAND}} [OPTIONS]"); println!("note: Options inside of square brackets ([]) are optional\n"); println!("Commands:"); - println!(" cmbr2pgn --input {{INPUT_FILE}} [--output {{OUTPUT_FILE}} --threads_n {{AMOUNT_OF_THREADS}} --enable_compression ]"); - println!(" pgn2cmbr --input {{INPUT_FILE}} [--output {{OUTPUT_FILE}} --threads_n {{AMOUNT_OF_THREADS}} ]"); + println!(" cmbr2pgn --input {{INPUT_FILE}} [--output {{OUTPUT_FILE}} --threads_n {{AMOUNT_OF_THREADS}} --enable_compression --table-memory-limit {{LIMIT}} ]"); + println!(" pgn2cmbr --input {{INPUT_FILE}} [--output {{OUTPUT_FILE}} --threads_n {{AMOUNT_OF_THREADS}} --table-memory-limit {{LIMIT}} ]"); println!(" license"); } diff --git a/src/utils.rs b/src/utils.rs index d64b77f..55bd659 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -2,7 +2,6 @@ use cfg_if::cfg_if; cfg_if! { if #[cfg(target_os = "windows")] { - use std::ptr; use windows::Win32::System::SystemInformation::{ GlobalMemoryStatusEx, MEMORYSTATUSEX }; @@ -11,7 +10,6 @@ cfg_if! { } else if #[cfg(target_os = "macos")] { use std::process::Command; } - } pub fn get_free_memory() -> Option { @@ -21,9 +19,9 @@ pub fn get_free_memory() -> Option { let mut mem_info = MEMORYSTATUSEX { dwLength: std::mem::size_of::() as u32, ..Default::default() - } + }; - return GlobalMemoryStatusEx(&mut mem_info) != 0 { + return if GlobalMemoryStatusEx(&mut mem_info).is_ok() { Some(mem_info.ullAvailPhys / 1024) } else { None