mirror of
https://github.com/RGBCube/uutils-coreutils
synced 2025-07-28 11:37:44 +00:00
Merge pull request #1440 from rivy/fix.win-legacy
Fix for legacy Windows versions
This commit is contained in:
commit
683db28a93
3 changed files with 14 additions and 3 deletions
|
@ -39,6 +39,15 @@ unix = [
|
||||||
"generic"
|
"generic"
|
||||||
]
|
]
|
||||||
windows = ["generic"]
|
windows = ["generic"]
|
||||||
|
windows_legacy = [
|
||||||
|
"arch",
|
||||||
|
"nproc",
|
||||||
|
"sync",
|
||||||
|
"touch",
|
||||||
|
"whoami",
|
||||||
|
|
||||||
|
"redox_generic"
|
||||||
|
]
|
||||||
# Feature "fuchsia" contains the exclusive list of utilities
|
# Feature "fuchsia" contains the exclusive list of utilities
|
||||||
# that can be compiled and run on Fuchsia. Should be built
|
# that can be compiled and run on Fuchsia. Should be built
|
||||||
# with --no-default-features when selecting this feature.
|
# with --no-default-features when selecting this feature.
|
||||||
|
|
2
build.rs
2
build.rs
|
@ -16,7 +16,7 @@ pub fn main() {
|
||||||
if val == "1" && key.starts_with(feature_prefix) {
|
if val == "1" && key.starts_with(feature_prefix) {
|
||||||
let krate = key[feature_prefix.len()..].to_lowercase();
|
let krate = key[feature_prefix.len()..].to_lowercase();
|
||||||
match krate.as_ref() {
|
match krate.as_ref() {
|
||||||
"default" | "unix" | "redox" | "redox_generic" | "fuchsia" | "generic" | "windows"
|
"default" | "unix" | "redox" | "redox_generic" | "fuchsia" | "generic" | "windows" | "windows_legacy"
|
||||||
| "nightly" | "test_unimplemented" => continue,
|
| "nightly" | "test_unimplemented" => continue,
|
||||||
_ => {}
|
_ => {}
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,7 +29,7 @@ extern crate kernel32;
|
||||||
#[cfg(windows)]
|
#[cfg(windows)]
|
||||||
use kernel32::GetFileInformationByHandle;
|
use kernel32::GetFileInformationByHandle;
|
||||||
#[cfg(windows)]
|
#[cfg(windows)]
|
||||||
use kernel32::CreateFile2;
|
use kernel32::CreateFileW;
|
||||||
#[cfg(windows)]
|
#[cfg(windows)]
|
||||||
extern crate winapi;
|
extern crate winapi;
|
||||||
|
|
||||||
|
@ -731,10 +731,12 @@ fn preserve_hardlinks(
|
||||||
#[cfg(windows)]
|
#[cfg(windows)]
|
||||||
{
|
{
|
||||||
let stat = mem::uninitialized();
|
let stat = mem::uninitialized();
|
||||||
let handle = CreateFile2(
|
let handle = CreateFileW(
|
||||||
src_path.as_ptr() as *const u16,
|
src_path.as_ptr() as *const u16,
|
||||||
winapi::um::winnt::GENERIC_READ,
|
winapi::um::winnt::GENERIC_READ,
|
||||||
winapi::um::winnt::FILE_SHARE_READ,
|
winapi::um::winnt::FILE_SHARE_READ,
|
||||||
|
std::ptr::null_mut(),
|
||||||
|
0,
|
||||||
0,
|
0,
|
||||||
std::ptr::null_mut(),
|
std::ptr::null_mut(),
|
||||||
);
|
);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue