Windows: Fix stage1.zig's main failing to receive non-ASCII args
Closes #10506
This commit is contained in:
committed by
Andrew Kelley
parent
1f196b9e2f
commit
bec40a89c2
@@ -40,10 +40,18 @@ pub fn main(argc: c_int, argv: [*][*:0]u8) callconv(.C) c_int {
|
||||
defer arena_instance.deinit();
|
||||
const arena = arena_instance.allocator();
|
||||
|
||||
const args = arena.alloc([]const u8, @intCast(usize, argc)) catch fatal("{s}", .{"OutOfMemory"});
|
||||
for (args) |*arg, i| {
|
||||
arg.* = mem.sliceTo(argv[i], 0);
|
||||
}
|
||||
const args: []const []const u8 = args: {
|
||||
if (builtin.os.tag == .windows) {
|
||||
break :args std.process.argsAlloc(arena) catch fatal("{s}", .{"OutOfMemory"});
|
||||
} else {
|
||||
const args = arena.alloc([]const u8, @intCast(usize, argc)) catch fatal("{s}", .{"OutOfMemory"});
|
||||
for (args) |*arg, i| {
|
||||
arg.* = mem.sliceTo(argv[i], 0);
|
||||
}
|
||||
break :args args;
|
||||
}
|
||||
};
|
||||
|
||||
if (builtin.mode == .Debug) {
|
||||
stage2.mainArgs(gpa, arena, args) catch unreachable;
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user