@@ -621,15 +621,15 @@ class LocalFS: FSProxy, @unchecked Sendable {
621
621
DWORD ( OPEN_EXISTING) , DWORD ( FILE_FLAG_BACKUP_SEMANTICS) , nil )
622
622
}
623
623
if handle == INVALID_HANDLE_VALUE {
624
- throw StubError . error ( " Failed to update file time " )
624
+ throw Win32Error ( GetLastError ( ) )
625
625
}
626
626
try handle. closeAfter {
627
627
var ft = FILETIME ( )
628
628
var st = SYSTEMTIME ( )
629
629
GetSystemTime ( & st)
630
630
SystemTimeToFileTime ( & st, & ft)
631
631
if !SetFileTime( handle, nil , & ft, & ft) {
632
- throw StubError . error ( " Failed to update file time " )
632
+ Win32Error ( GetLastError ( ) )
633
633
}
634
634
}
635
635
#else
@@ -648,7 +648,7 @@ class LocalFS: FSProxy, @unchecked Sendable {
648
648
DWORD ( OPEN_EXISTING) , DWORD ( FILE_FLAG_BACKUP_SEMANTICS) , nil )
649
649
}
650
650
if handle == INVALID_HANDLE_VALUE {
651
- throw StubError . error ( " Failed to update file time " )
651
+ throw Win32Error ( GetLastError ( ) )
652
652
}
653
653
try handle. closeAfter {
654
654
// Number of 100ns intervals between 1601 and 1970 epochs
@@ -663,7 +663,7 @@ class LocalFS: FSProxy, @unchecked Sendable {
663
663
ft. dwLowDateTime = timeInt. LowPart
664
664
ft. dwHighDateTime = timeInt. HighPart
665
665
if !SetFileTime( handle, nil , & ft, & ft) {
666
- throw StubError . error ( " Failed to update file time " )
666
+ throw Win32Error ( GetLastError ( ) )
667
667
}
668
668
}
669
669
#else
@@ -887,7 +887,7 @@ class LocalFS: FSProxy, @unchecked Sendable {
887
887
return try withUnsafeTemporaryAllocation ( of: WCHAR . self, capacity: Int ( dwLength) ) {
888
888
guard GetFinalPathNameByHandleW ( handle, $0. baseAddress!, DWORD ( $0. count) ,
889
889
DWORD ( FILE_NAME_NORMALIZED) ) == dwLength - 1 else {
890
- throw StubError . error ( " GetFinalPathNameByHandleW failed " )
890
+ throw Win32Error ( GetLastError ( ) )
891
891
}
892
892
let path = String ( platformString: $0. baseAddress!)
893
893
// Drop UNC prefix if present
@@ -1643,13 +1643,6 @@ extension HANDLE {
1643
1643
}
1644
1644
}
1645
1645
}
1646
-
1647
- fileprivate struct Win32Error : Error {
1648
- let error : DWORD
1649
- init ( _ error: DWORD ) {
1650
- self . error = error
1651
- }
1652
- }
1653
1646
#endif
1654
1647
1655
1648
extension FileDescriptor {
0 commit comments