From 241c4250f42be170e61246ad8250863afe86bb01 Mon Sep 17 00:00:00 2001 From: Valentin Bartenev Date: Sun, 1 Jul 2018 09:59:45 +0300 Subject: [PATCH] Allowed uppercased O in octal literal values. --- njs/njs_lexer.c | 2 +- njs/test/njs_unit_test.c | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/njs/njs_lexer.c b/njs/njs_lexer.c index 73a009c2..2b17c4dd 100644 --- a/njs/njs_lexer.c +++ b/njs/njs_lexer.c @@ -550,7 +550,7 @@ njs_lexer_number(njs_lexer_t *lexer) /* Octal literal values. */ - if (*p == 'o') { + if (*p == 'o' || *p == 'O') { p++; if (p == lexer->end) { diff --git a/njs/test/njs_unit_test.c b/njs/test/njs_unit_test.c index 41f82c17..0a898ae3 100644 --- a/njs/test/njs_unit_test.c +++ b/njs/test/njs_unit_test.c @@ -118,10 +118,13 @@ static njs_unit_test_t njs_test[] = { nxt_string("0o0"), nxt_string("0") }, + { nxt_string("0O10"), + nxt_string("8") }, + { nxt_string("0o011"), nxt_string("9") }, - { nxt_string("-0o777"), + { nxt_string("-0O777"), nxt_string("-511") }, /* Legacy Octal Numbers are deprecated. */ @@ -141,7 +144,7 @@ static njs_unit_test_t njs_test[] = { nxt_string("0o"), nxt_string("SyntaxError: Unexpected token \"\" in 1") }, - { nxt_string("0o778"), + { nxt_string("0O778"), nxt_string("SyntaxError: Unexpected token \"\" in 1") }, /* Hex Numbers. */ -- 2.47.3