| ... | ... | @@ -40,10 +40,18 @@ pub fn main(argc: c_int, argv: [*][*:0]u8) callconv(.C) c_int { |
| 40 | 40 | defer arena_instance.deinit(); |
| 41 | 41 | const arena = arena_instance.allocator(); |
| 42 | 42 | |
| 43 | | const args = arena.alloc([]const u8, @intCast(usize, argc)) catch fatal("{s}", .{"OutOfMemory"}); |
| 44 | | for (args) |*arg, i| { |
| 45 | | arg.* = mem.sliceTo(argv[i], 0); |
| 46 | | } |
| 43 | const args: []const []const u8 = args: { |
| 44 | if (builtin.os.tag == .windows) { |
| 45 | break :args std.process.argsAlloc(arena) catch fatal("{s}", .{"OutOfMemory"}); |
| 46 | } else { |
| 47 | const args = arena.alloc([]const u8, @intCast(usize, argc)) catch fatal("{s}", .{"OutOfMemory"}); |
| 48 | for (args) |*arg, i| { |
| 49 | arg.* = mem.sliceTo(argv[i], 0); |
| 50 | } |
| 51 | break :args args; |
| 52 | } |
| 53 | }; |
| 54 | |
| 47 | 55 | if (builtin.mode == .Debug) { |
| 48 | 56 | stage2.mainArgs(gpa, arena, args) catch unreachable; |
| 49 | 57 | } else { |