aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Kelley <superjoe30@gmail.com>2017-01-23 01:19:03 -0500
committerAndrew Kelley <superjoe30@gmail.com>2017-01-23 01:19:03 -0500
commit1826a961608037405237f12df5aec94f8f5f3a10 (patch)
tree8d0ca37dd8162bab39d9c648294176ab96e10a41
parent0b34439c1f380a1a9e26d219550a1cfd31fa698e (diff)
downloadzig-1826a961608037405237f12df5aec94f8f5f3a10.tar.gz
zig-1826a961608037405237f12df5aec94f8f5f3a10.zip
update charToDigit to take advantage of switch syntax
-rw-r--r--std/io.zig19
1 files changed, 10 insertions, 9 deletions
diff --git a/std/io.zig b/std/io.zig
index 8da396c3a2..752f01c3de 100644
--- a/std/io.zig
+++ b/std/io.zig
@@ -369,16 +369,17 @@ pub fn parseUnsigned(comptime T: type, buf: []u8, radix: u8) -> %T {
error InvalidChar;
fn charToDigit(c: u8, radix: u8) -> %u8 {
- const value = if ('0' <= c && c <= '9') {
- c - '0'
- } else if ('A' <= c && c <= 'Z') {
- c - 'A' + 10
- } else if ('a' <= c && c <= 'z') {
- c - 'a' + 10
- } else {
- return error.InvalidChar;
+ const value = switch (c) {
+ '0' ... '9' => c - '0',
+ 'A' ... 'Z' => c - 'A' + 10,
+ 'a' ... 'z' => c - 'a' + 10,
+ else => return error.InvalidChar,
};
- return if (value >= radix) error.InvalidChar else value;
+
+ if (value >= radix)
+ return error.InvalidChar;
+
+ return value;
}
pub fn bufPrintInt(comptime T: type, out_buf: []u8, x: T) -> usize {