summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--generic/regc_lex.c2
-rw-r--r--tests/reg.test3
2 files changed, 3 insertions, 2 deletions
diff --git a/generic/regc_lex.c b/generic/regc_lex.c
index dc7a012..2208c0e 100644
--- a/generic/regc_lex.c
+++ b/generic/regc_lex.c
@@ -832,7 +832,7 @@ lexescape(
RETV(PLAIN, CHR('\t'));
break;
case CHR('u'):
- c = (uchr) lexdigits(v, 16, 4, 4);
+ c = (uchr) lexdigits(v, 16, 1, 4);
if (ISERR()) {
FAILW(REG_EESCAPE);
}
diff --git a/tests/reg.test b/tests/reg.test
index 12cea7e..a95d1e2 100644
--- a/tests/reg.test
+++ b/tests/reg.test
@@ -625,7 +625,8 @@ expectMatch 13.13 P "a\\nb" "a\nb" "a\nb"
expectMatch 13.14 P "a\\rb" "a\rb" "a\rb"
expectMatch 13.15 P "a\\tb" "a\tb" "a\tb"
expectMatch 13.16 P "a\\u0008x" "a\bx" "a\bx"
-expectError 13.17 - {a\u008x} EESCAPE
+expectMatch 13.17 P {a\u008x} "a\bx" "a\bx"
+expectError 13.17.1 - {a\ux} EESCAPE
expectMatch 13.18 P "a\\u00088x" "a\b8x" "a\b8x"
expectMatch 13.19 P "a\\U00000008x" "a\bx" "a\bx"
expectMatch 13.20 P {a\U0000008x} "a\bx" "a\bx"