| ... | @@ -369,16 +369,17 @@ pub fn parseUnsigned(comptime T: type, buf: []u8, radix: u8) -> %T { | ... | @@ -369,16 +369,17 @@ pub fn parseUnsigned(comptime T: type, buf: []u8, radix: u8) -> %T { |
| 369 | | 369 | |
| 370 | error InvalidChar; | 370 | error InvalidChar; |
| 371 | fn charToDigit(c: u8, radix: u8) -> %u8 { | 371 | fn charToDigit(c: u8, radix: u8) -> %u8 { |
| 372 | const value = if ('0' <= c && c <= '9') { | 372 | const value = switch (c) { |
| 373 | c - '0' | 373 | '0' ... '9' => c - '0', |
| 374 | } else if ('A' <= c && c <= 'Z') { | 374 | 'A' ... 'Z' => c - 'A' + 10, |
| 375 | c - 'A' + 10 | 375 | 'a' ... 'z' => c - 'a' + 10, |
| 376 | } else if ('a' <= c && c <= 'z') { | 376 | else => return error.InvalidChar, |
| 377 | c - 'a' + 10 | | |
| 378 | } else { | | |
| 379 | return error.InvalidChar; | | |
| 380 | }; | 377 | }; |
| 381 | return if (value >= radix) error.InvalidChar else value; | 378 | |
| | 379 | if (value >= radix) |
| | 380 | return error.InvalidChar; |
| | 381 | |
| | 382 | return value; |
| 382 | } | 383 | } |
| 383 | | 384 | |
| 384 | pub fn bufPrintInt(comptime T: type, out_buf: []u8, x: T) -> usize { | 385 | pub fn bufPrintInt(comptime T: type, out_buf: []u8, x: T) -> usize { |