diff options
| author | Michael Freundorfer <contact@mfreundorfercg.com> | 2020-11-27 19:21:29 +0100 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2020-11-30 11:12:33 -0800 |
| commit | baa075ac8cf3ff666b9f3d5c5a75e139f33b5d86 (patch) | |
| tree | 729b3509495c86a353e4d4e3a7747fa9569a178b /lib/std/dynamic_library.zig | |
| parent | 0369b65082be49eefacf767774a3d40ad7706de7 (diff) | |
| download | zig-baa075ac8cf3ff666b9f3d5c5a75e139f33b5d86.tar.gz zig-baa075ac8cf3ff666b9f3d5c5a75e139f33b5d86.zip | |
Fix WindowsDynLib.openW trying to strip the \??\ prefix when it does not exist
Diffstat (limited to 'lib/std/dynamic_library.zig')
| -rw-r--r-- | lib/std/dynamic_library.zig | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/std/dynamic_library.zig b/lib/std/dynamic_library.zig index 68181e5742..f2e138c3f3 100644 --- a/lib/std/dynamic_library.zig +++ b/lib/std/dynamic_library.zig @@ -338,9 +338,14 @@ pub const WindowsDynLib = struct { } pub fn openW(path_w: [*:0]const u16) !WindowsDynLib { - return WindowsDynLib{ + var offset: usize = 0; + if (path_w[0] == '\\' and path_w[1] == '?' and path_w[2] == '?' and path_w[3] == '\\') { // + 4 to skip over the \??\ - .dll = try windows.LoadLibraryW(path_w + 4), + offset = 4; + } + + return WindowsDynLib{ + .dll = try windows.LoadLibraryW(path_w + offset), }; } |
