diff options
| author | Andrew Kelley <superjoe30@gmail.com> | 2018-09-02 18:47:48 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-09-02 18:47:48 -0400 |
| commit | ab387bb4c712b257cc2b728a044ad67935dee2dc (patch) | |
| tree | aa6ae0b006da48dba434fcf5eaa8550134772563 /std/os/windows/util.zig | |
| parent | 86e55567b4b1cccbb69065396391e4a500864dce (diff) | |
| parent | 832caefc2a1b20deb513d43306d6723670ba9c8f (diff) | |
| download | zig-ab387bb4c712b257cc2b728a044ad67935dee2dc.tar.gz zig-ab387bb4c712b257cc2b728a044ad67935dee2dc.zip | |
Merge pull request #1460 from ziglang/Sahnvour-windows-coff-issue721
Stack traces for Windows
Diffstat (limited to 'std/os/windows/util.zig')
| -rw-r--r-- | std/os/windows/util.zig | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/std/os/windows/util.zig b/std/os/windows/util.zig index 72de896996..168f6c3861 100644 --- a/std/os/windows/util.zig +++ b/std/os/windows/util.zig @@ -118,16 +118,14 @@ pub const OpenError = error{ Unexpected, }; -pub fn windowsOpen( - file_path: []const u8, +pub fn windowsOpenW( + file_path_w: [*]const u16, desired_access: windows.DWORD, share_mode: windows.DWORD, creation_disposition: windows.DWORD, flags_and_attrs: windows.DWORD, ) OpenError!windows.HANDLE { - const file_path_w = try sliceToPrefixedFileW(file_path); - - const result = windows.CreateFileW(&file_path_w, desired_access, share_mode, null, creation_disposition, flags_and_attrs, null); + const result = windows.CreateFileW(file_path_w, desired_access, share_mode, null, creation_disposition, flags_and_attrs, null); if (result == windows.INVALID_HANDLE_VALUE) { const err = windows.GetLastError(); @@ -146,6 +144,17 @@ pub fn windowsOpen( return result; } +pub fn windowsOpen( + file_path: []const u8, + desired_access: windows.DWORD, + share_mode: windows.DWORD, + creation_disposition: windows.DWORD, + flags_and_attrs: windows.DWORD, +) OpenError!windows.HANDLE { + const file_path_w = try sliceToPrefixedFileW(file_path); + return windowsOpenW(&file_path_w, desired_access, share_mode, creation_disposition, flags_and_attrs); +} + /// Caller must free result. pub fn createWindowsEnvBlock(allocator: *mem.Allocator, env_map: *const BufMap) ![]u8 { // count bytes needed |
