From 1826a961608037405237f12df5aec94f8f5f3a10 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Mon, 23 Jan 2017 01:19:03 -0500 Subject: [PATCH] update charToDigit to take advantage of switch syntax --- std/io.zig | 19 ++++++++++--------- 1 file 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 {