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.
This commit is contained in:
antlilja
2020-12-07 18:04:24 +01:00
committed by Andrew Kelley
parent 85dc039632
commit 5c60558796

View File

@@ -688,11 +688,15 @@ fn buildOutputType(
} else if (mem.eql(u8, arg, "--stack")) {
if (i + 1 >= args.len) fatal("expected parameter after {}", .{arg});
i += 1;
stack_size_override = parseAnyBaseInt(args[i]);
stack_size_override = std.fmt.parseUnsigned(u64, args[i], 0) catch |err| {
fatal("unable to parse '{}': {}", .{ arg, @errorName(err) });
};
} else if (mem.eql(u8, arg, "--image-base")) {
if (i + 1 >= args.len) fatal("expected parameter after {}", .{arg});
i += 1;
image_base_override = parseAnyBaseInt(args[i]);
image_base_override = std.fmt.parseUnsigned(u64, args[i], 0) catch |err| {
fatal("unable to parse '{}': {}", .{ arg, @errorName(err) });
};
} else if (mem.eql(u8, arg, "--name")) {
if (i + 1 >= args.len) fatal("expected parameter after {}", .{arg});
i += 1;
@@ -1225,7 +1229,7 @@ fn buildOutputType(
if (i >= linker_args.items.len) {
fatal("expected linker arg after '{}'", .{arg});
}
version.major = std.fmt.parseInt(u32, linker_args.items[i], 10) catch |err| {
version.major = std.fmt.parseUnsigned(u32, linker_args.items[i], 10) catch |err| {
fatal("unable to parse '{}': {}", .{ arg, @errorName(err) });
};
have_version = true;
@@ -1234,7 +1238,7 @@ fn buildOutputType(
if (i >= linker_args.items.len) {
fatal("expected linker arg after '{}'", .{arg});
}
version.minor = std.fmt.parseInt(u32, linker_args.items[i], 10) catch |err| {
version.minor = std.fmt.parseUnsigned(u32, linker_args.items[i], 10) catch |err| {
fatal("unable to parse '{}': {}", .{ arg, @errorName(err) });
};
have_version = true;
@@ -1243,13 +1247,17 @@ fn buildOutputType(
if (i >= linker_args.items.len) {
fatal("expected linker arg after '{}'", .{arg});
}
stack_size_override = parseAnyBaseInt(linker_args.items[i]);
stack_size_override = std.fmt.parseUnsigned(u64, linker_args.items[i], 0) catch |err| {
fatal("unable to parse '{}': {}", .{ arg, @errorName(err) });
};
} else if (mem.eql(u8, arg, "--image-base")) {
i += 1;
if (i >= linker_args.items.len) {
fatal("expected linker arg after '{}'", .{arg});
}
image_base_override = parseAnyBaseInt(linker_args.items[i]);
image_base_override = std.fmt.parseUnsigned(u64, linker_args.items[i], 0) catch |err| {
fatal("unable to parse '{}': {}", .{ arg, @errorName(err) });
};
} else {
warn("unsupported linker arg: {}", .{arg});
}
@@ -3188,18 +3196,3 @@ pub fn cleanExit() void {
process.exit(0);
}
}
fn parseAnyBaseInt(prefixed_bytes: []const u8) u64 {
const base: u8 = if (mem.startsWith(u8, prefixed_bytes, "0x"))
16
else if (mem.startsWith(u8, prefixed_bytes, "0o"))
8
else if (mem.startsWith(u8, prefixed_bytes, "0b"))
2
else
@as(u8, 10);
const bytes = if (base == 10) prefixed_bytes else prefixed_bytes[2..];
return std.fmt.parseInt(u64, bytes, base) catch |err| {
fatal("unable to parse '{}': {}", .{ prefixed_bytes, @errorName(err) });
};
}