From 68b87918df9ad82cf3161f323c55f2e238319922 Mon Sep 17 00:00:00 2001 From: Ryan Liptak Date: Tue, 13 Feb 2024 16:56:50 -0800 Subject: Fix handling of Windows (WTF-16) and WASI (UTF-8) paths Windows paths now use WTF-16 <-> WTF-8 conversion everywhere, which is lossless. Previously, conversion of ill-formed UTF-16 paths would either fail or invoke illegal behavior. WASI paths must be valid UTF-8, and the relevant function calls have been updated to handle the possibility of failure due to paths not being encoded/encodable as valid UTF-8. Closes #18694 Closes #1774 Closes #2565 --- src/Module.zig | 1 + 1 file changed, 1 insertion(+) (limited to 'src/Module.zig') diff --git a/src/Module.zig b/src/Module.zig index 2f32fa8197..c27b8ea4be 100644 --- a/src/Module.zig +++ b/src/Module.zig @@ -2662,6 +2662,7 @@ pub fn astGenFile(mod: *Module, file: *File) !void { }) catch |err| switch (err) { error.NotDir => unreachable, // no dir components error.InvalidUtf8 => unreachable, // it's a hex encoded name + error.InvalidWtf8 => unreachable, // it's a hex encoded name error.BadPathName => unreachable, // it's a hex encoded name error.NameTooLong => unreachable, // it's a fixed size name error.PipeBusy => unreachable, // it's not a pipe -- cgit v1.2.3