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