aboutsummaryrefslogtreecommitdiff
path: root/std/os/windows/util.zig
diff options
context:
space:
mode:
authorAndrew Kelley <superjoe30@gmail.com>2018-09-02 18:47:48 -0400
committerGitHub <noreply@github.com>2018-09-02 18:47:48 -0400
commitab387bb4c712b257cc2b728a044ad67935dee2dc (patch)
treeaa6ae0b006da48dba434fcf5eaa8550134772563 /std/os/windows/util.zig
parent86e55567b4b1cccbb69065396391e4a500864dce (diff)
parent832caefc2a1b20deb513d43306d6723670ba9c8f (diff)
downloadzig-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.zig19
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