authorgravatar for liljaanton2001@gmail.comantlilja <liljaanton2001@gmail.com> 2020-12-07 18:04:24+01:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-12-07 16:38:52-05:00
log5c60558796715c109ddbe12472fe5692029736b2
treedd2891f5f6ff5c1157ff44f261a4ce8cd374fdc9
parent85dc039632f8b7fec2c7e87aed7271daccf46aee

Utilize std.fmt.parseUnsigned in main.zig.

* Remove function parseAnyBaseInt. * Replace calls to parseAnyBaseInt to calls to std.fmt.parseUnsigned with radix 0. * Replace calls to parseInt where the type is unsigned with calls to parseUnsigned. Note that the functionality of these arguments haven't changed, they still retain the original radix specified.

1 files changed, 14 insertions(+), 21 deletions(-)

src/main.zig+14-21
......@@ -688,11 +688,15 @@ fn buildOutputType(
688688 } else if (mem.eql(u8, arg, "--stack")) {
689689 if (i + 1 >= args.len) fatal("expected parameter after {}", .{arg});
690690 i += 1;
691 stack_size_override = parseAnyBaseInt(args[i]);
691 stack_size_override = std.fmt.parseUnsigned(u64, args[i], 0) catch |err| {
692 fatal("unable to parse '{}': {}", .{ arg, @errorName(err) });
693 };
692694 } else if (mem.eql(u8, arg, "--image-base")) {
693695 if (i + 1 >= args.len) fatal("expected parameter after {}", .{arg});
694696 i += 1;
695 image_base_override = parseAnyBaseInt(args[i]);
697 image_base_override = std.fmt.parseUnsigned(u64, args[i], 0) catch |err| {
698 fatal("unable to parse '{}': {}", .{ arg, @errorName(err) });
699 };
696700 } else if (mem.eql(u8, arg, "--name")) {
697701 if (i + 1 >= args.len) fatal("expected parameter after {}", .{arg});
698702 i += 1;
......@@ -1225,7 +1229,7 @@ fn buildOutputType(
12251229 if (i >= linker_args.items.len) {
12261230 fatal("expected linker arg after '{}'", .{arg});
12271231 }
1228 version.major = std.fmt.parseInt(u32, linker_args.items[i], 10) catch |err| {
1232 version.major = std.fmt.parseUnsigned(u32, linker_args.items[i], 10) catch |err| {
12291233 fatal("unable to parse '{}': {}", .{ arg, @errorName(err) });
12301234 };
12311235 have_version = true;
......@@ -1234,7 +1238,7 @@ fn buildOutputType(
12341238 if (i >= linker_args.items.len) {
12351239 fatal("expected linker arg after '{}'", .{arg});
12361240 }
1237 version.minor = std.fmt.parseInt(u32, linker_args.items[i], 10) catch |err| {
1241 version.minor = std.fmt.parseUnsigned(u32, linker_args.items[i], 10) catch |err| {
12381242 fatal("unable to parse '{}': {}", .{ arg, @errorName(err) });
12391243 };
12401244 have_version = true;
......@@ -1243,13 +1247,17 @@ fn buildOutputType(
12431247 if (i >= linker_args.items.len) {
12441248 fatal("expected linker arg after '{}'", .{arg});
12451249 }
1246 stack_size_override = parseAnyBaseInt(linker_args.items[i]);
1250 stack_size_override = std.fmt.parseUnsigned(u64, linker_args.items[i], 0) catch |err| {
1251 fatal("unable to parse '{}': {}", .{ arg, @errorName(err) });
1252 };
12471253 } else if (mem.eql(u8, arg, "--image-base")) {
12481254 i += 1;
12491255 if (i >= linker_args.items.len) {
12501256 fatal("expected linker arg after '{}'", .{arg});
12511257 }
1252 image_base_override = parseAnyBaseInt(linker_args.items[i]);
1258 image_base_override = std.fmt.parseUnsigned(u64, linker_args.items[i], 0) catch |err| {
1259 fatal("unable to parse '{}': {}", .{ arg, @errorName(err) });
1260 };
12531261 } else {
12541262 warn("unsupported linker arg: {}", .{arg});
12551263 }
......@@ -3188,18 +3196,3 @@ pub fn cleanExit() void {
31883196 process.exit(0);
31893197 }
31903198}
3191
3192fn parseAnyBaseInt(prefixed_bytes: []const u8) u64 {
3193 const base: u8 = if (mem.startsWith(u8, prefixed_bytes, "0x"))
3194 16
3195 else if (mem.startsWith(u8, prefixed_bytes, "0o"))
3196 8
3197 else if (mem.startsWith(u8, prefixed_bytes, "0b"))
3198 2
3199 else
3200 @as(u8, 10);
3201 const bytes = if (base == 10) prefixed_bytes else prefixed_bytes[2..];
3202 return std.fmt.parseInt(u64, bytes, base) catch |err| {
3203 fatal("unable to parse '{}': {}", .{ prefixed_bytes, @errorName(err) });
3204 };
3205}