mirror of
https://github.com/ziglang/zig.git
synced 2026-01-21 06:45:24 +00:00
Replace GetCommandLineW with PEB access, delete GetCommandLine bindings
This commit is contained in:
parent
1418c8a5d4
commit
1a62cfffa7
@ -161,9 +161,6 @@ pub extern "kernel32" fn FormatMessageW(dwFlags: DWORD, lpSource: ?LPVOID, dwMes
|
||||
|
||||
pub extern "kernel32" fn FreeEnvironmentStringsW(penv: [*:0]u16) callconv(WINAPI) BOOL;
|
||||
|
||||
pub extern "kernel32" fn GetCommandLineA() callconv(WINAPI) LPSTR;
|
||||
pub extern "kernel32" fn GetCommandLineW() callconv(WINAPI) LPWSTR;
|
||||
|
||||
pub extern "kernel32" fn GetConsoleMode(in_hConsoleHandle: HANDLE, out_lpMode: *DWORD) callconv(WINAPI) BOOL;
|
||||
pub extern "kernel32" fn SetConsoleMode(in_hConsoleHandle: HANDLE, in_dwMode: DWORD) callconv(WINAPI) BOOL;
|
||||
|
||||
|
||||
@ -1150,8 +1150,9 @@ pub const ArgIterator = struct {
|
||||
return ArgIterator{ .inner = try InnerType.init(allocator) };
|
||||
}
|
||||
if (native_os == .windows) {
|
||||
const cmd_line_w = windows.kernel32.GetCommandLineW();
|
||||
return ArgIterator{ .inner = try InnerType.init(allocator, cmd_line_w) };
|
||||
const cmd_line = std.os.windows.peb().ProcessParameters.CommandLine;
|
||||
const cmd_line_w = cmd_line.Buffer.?[0 .. cmd_line.Length / 2 :0];
|
||||
return ArgIterator{ .inner = try InnerType.init(allocator, cmd_line_w.ptr) };
|
||||
}
|
||||
|
||||
return ArgIterator{ .inner = InnerType.init() };
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user