From a84b1a53ec5b4711de974b01259d45b94dcd65e7 Mon Sep 17 00:00:00 2001 From: Larpon Date: Thu, 21 Oct 2021 13:12:17 +0200 Subject: [PATCH] toml: fix bin, oct and hex capital identifier check (#12254) --- vlib/toml/checker/checker.v | 4 ++++ vlib/toml/tests/burntsushi.toml-test_test.v | 1 - 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/vlib/toml/checker/checker.v b/vlib/toml/checker/checker.v index b8868a35bf..05fa4bbbf1 100644 --- a/vlib/toml/checker/checker.v +++ b/vlib/toml/checker/checker.v @@ -101,6 +101,10 @@ fn (c Checker) check_number(num ast.Number) ? { } else { if !hex_bin_oct { if !is_float && lit[0] == `0` { + if lit[1] in [`B`, `O`, `X`] { + return error(@MOD + '.' + @STRUCT + '.' + @FN + + ' numbers like "$lit" only lowercase notation in ...${c.excerpt(num.pos)}...') + } return error(@MOD + '.' + @STRUCT + '.' + @FN + ' numbers like "$lit" can not start with a zero in ...${c.excerpt(num.pos)}...') } diff --git a/vlib/toml/tests/burntsushi.toml-test_test.v b/vlib/toml/tests/burntsushi.toml-test_test.v index 1059a1d494..4553333362 100644 --- a/vlib/toml/tests/burntsushi.toml-test_test.v +++ b/vlib/toml/tests/burntsushi.toml-test_test.v @@ -21,7 +21,6 @@ const ( 'string/basic-out-of-range-unicode-escape-2.toml', 'string/bad-uni-esc.toml', // Integer - 'integer/capital-bin.toml', 'integer/invalid-bin.toml', 'integer/invalid-oct.toml', // Encoding