| ... | ... | @@ -1716,14 +1716,17 @@ test "parseInt" { |
| 1716 | 1716 | try std.testing.expect((try parseInt(i32, "1_1_1", 0)) == 111); |
| 1717 | 1717 | try std.testing.expect((try parseInt(i32, "1_1_1", 0)) == 111); |
| 1718 | 1718 | try std.testing.expect((try parseInt(i32, "+0b111", 0)) == 7); |
| 1719 | try std.testing.expect((try parseInt(i32, "+0B111", 0)) == 7); |
| 1719 | 1720 | try std.testing.expect((try parseInt(i32, "+0b1_11", 0)) == 7); |
| 1720 | 1721 | try std.testing.expect((try parseInt(i32, "+0o111", 0)) == 73); |
| 1722 | try std.testing.expect((try parseInt(i32, "+0O111", 0)) == 73); |
| 1721 | 1723 | try std.testing.expect((try parseInt(i32, "+0o11_1", 0)) == 73); |
| 1722 | 1724 | try std.testing.expect((try parseInt(i32, "+0x111", 0)) == 273); |
| 1723 | 1725 | try std.testing.expect((try parseInt(i32, "-0b111", 0)) == -7); |
| 1724 | 1726 | try std.testing.expect((try parseInt(i32, "-0b11_1", 0)) == -7); |
| 1725 | 1727 | try std.testing.expect((try parseInt(i32, "-0o111", 0)) == -73); |
| 1726 | 1728 | try std.testing.expect((try parseInt(i32, "-0x111", 0)) == -273); |
| 1729 | try std.testing.expect((try parseInt(i32, "-0X111", 0)) == -273); |
| 1727 | 1730 | try std.testing.expect((try parseInt(i32, "-0x1_11", 0)) == -273); |
| 1728 | 1731 | |
| 1729 | 1732 | // bare binary/octal/decimal prefix is invalid |
| ... | ... | @@ -1747,7 +1750,7 @@ fn parseWithSign( |
| 1747 | 1750 | buf_radix = 10; |
| 1748 | 1751 | // Detect the radix by looking at buf prefix. |
| 1749 | 1752 | if (buf.len > 2 and buf[0] == '0') { |
| 1750 | | switch (buf[1]) { |
| 1753 | switch (std.ascii.toLower(buf[1])) { |
| 1751 | 1754 | 'b' => { |
| 1752 | 1755 | buf_radix = 2; |
| 1753 | 1756 | buf_start = buf[2..]; |