zig/lib/std/os/windows
Ryan Liptak 3f9294c735 Windows: Fix TooManyParentDirs handling for paths that shouldn't be cwd-relative
Previously, a relative path like `..` would:
- Attempt to be normalized (i.e. remove . and .. without any path resolution), but would error with TooManyParentDirs
- This would make wToPrefixedFileW run it through `RtlGetFullPathName_U` to do the necessary path resolution, but `RtlGetFullPathName_U` always resolves relative paths relative to the CWD

Instead, when TooManyParentDirs occurs, we now look up the path of the passed in `dir` (if it's non-null) and append the relative path to it before giving it to `RtlGetFullPathName_U`. If `dir` is null, then we just give it RtlGetFullPathName_U directly and let it resolve it relative to the CWD.

Closes #16779
2023-08-11 18:58:40 -07:00
..
advapi32.zig std.os.windows.advapi32: add RegLoadAppKeyW 2023-07-23 17:10:57 +06:00
crypt32.zig clean up windows cert scanning 2023-01-17 00:08:42 -07:00
gdi32.zig std: reorganization that allows new usingnamespace semantics 2021-09-01 17:54:06 -07:00
kernel32.zig Fix GetFileInformationByHandle compile error (#14829) 2023-03-19 23:23:05 +00:00
lang.zig remove redundant license headers from zig standard library 2021-08-24 12:25:09 -07:00
nls.zig Add os.windows.nls.upcaseW, a cross-platform implementation of RtlUpcaseUnicodeChar 2023-06-30 15:29:43 -07:00
ntdll.zig debug: fix reading -gdwarf generated debug sections in COFF files 2023-07-20 22:58:14 -04:00
ntstatus.zig remove redundant license headers from zig standard library 2021-08-24 12:25:09 -07:00
ole32.zig windows_sdk.zig: Reinstate COM ISetupEnumInstances logic 2023-07-28 19:19:32 -07:00
psapi.zig std: reorganization that allows new usingnamespace semantics 2021-09-01 17:54:06 -07:00
shell32.zig std.os.windows: reorg to avoid usingnamespace 2021-09-01 17:54:06 -07:00
sublang.zig remove redundant license headers from zig standard library 2021-08-24 12:25:09 -07:00
test.zig Windows: Fix TooManyParentDirs handling for paths that shouldn't be cwd-relative 2023-08-11 18:58:40 -07:00
user32.zig Use builtin inference over @as where possible 2023-07-24 10:23:51 -07:00
win32error.zig std.os.windows: reorg to avoid usingnamespace 2021-09-01 17:54:06 -07:00
winmm.zig std.os.windows: reorg to avoid usingnamespace 2021-09-01 17:54:06 -07:00
ws2_32.zig all: migrate code to new cast builtin syntax 2023-06-24 16:56:39 -07:00