From 698f8c2f01ea549d77d7dc3338a12e04c11057b9 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 14:02:58 +0200 Subject: Adding upstream version 1.64.0+dfsg1. Signed-off-by: Daniel Baumann --- vendor/sysinfo/src/utils.rs | 61 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 vendor/sysinfo/src/utils.rs (limited to 'vendor/sysinfo/src/utils.rs') diff --git a/vendor/sysinfo/src/utils.rs b/vendor/sysinfo/src/utils.rs new file mode 100644 index 000000000..578ab61c6 --- /dev/null +++ b/vendor/sysinfo/src/utils.rs @@ -0,0 +1,61 @@ +// Take a look at the license at the top of the repository in the LICENSE file. + +/* convert a path to a NUL-terminated Vec suitable for use with C functions */ +#[cfg(all( + not(feature = "unknown-ci"), + any(target_os = "linux", target_os = "android", target_vendor = "apple") +))] +pub(crate) fn to_cpath(path: &std::path::Path) -> Vec { + use std::{ffi::OsStr, os::unix::ffi::OsStrExt}; + + let path_os: &OsStr = path.as_ref(); + let mut cpath = path_os.as_bytes().to_vec(); + cpath.push(0); + cpath +} + +/// Converts the value into a parallel iterator (if the multithread feature is enabled) +/// Uses the rayon::iter::IntoParallelIterator trait +#[cfg(all( + all( + any( + target_os = "linux", + target_os = "android", + target_os = "macos", + target_os = "windows", + target_os = "freebsd", + ), + feature = "multithread" + ), + not(feature = "apple-sandbox"), + not(feature = "unknown-ci") +))] +pub(crate) fn into_iter(val: T) -> T::Iter +where + T: rayon::iter::IntoParallelIterator, +{ + val.into_par_iter() +} + +/// Converts the value into a sequential iterator (if the multithread feature is disabled) +/// Uses the std::iter::IntoIterator trait +#[cfg(all( + all( + any( + target_os = "linux", + target_os = "android", + target_os = "macos", + target_os = "windows", + target_os = "freebsd", + ), + not(feature = "multithread") + ), + not(feature = "unknown-ci"), + not(feature = "apple-sandbox") +))] +pub(crate) fn into_iter(val: T) -> T::IntoIter +where + T: IntoIterator, +{ + val.into_iter() +} -- cgit v1.2.3