From: Bruno Haible Date: Sat, 21 Jun 2025 04:46:55 +0000 (+0200) Subject: xgettext: Shell: Bump phase1_pushback buffer size. X-Git-Tag: v0.26~94 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=06858e5651f601c8d4e4b84cbb972749fdfc2a66;p=thirdparty%2Fgettext.git xgettext: Shell: Bump phase1_pushback buffer size. * gettext-tools/src/x-sh.c (phase1_pushback): Bump size to 9. * gettext-tools/tests/xgettext-sh-8: Add more test cases. --- diff --git a/gettext-tools/src/x-sh.c b/gettext-tools/src/x-sh.c index 84a4ec0a7..67ff5730a 100644 --- a/gettext-tools/src/x-sh.c +++ b/gettext-tools/src/x-sh.c @@ -185,7 +185,7 @@ do_ungetc (int c) /* Remove backslash followed by newline from the input stream. */ -static int phase1_pushback[2]; +static int phase1_pushback[9]; static int phase1_pushback_length; static int @@ -215,7 +215,7 @@ phase1_getc () } } -/* Supports only one pushback character. */ +/* Supports 9 pushback characters. */ static void phase1_ungetc (int c) { diff --git a/gettext-tools/tests/xgettext-sh-8 b/gettext-tools/tests/xgettext-sh-8 index 2aedf9f3b..00ad79daa 100755 --- a/gettext-tools/tests/xgettext-sh-8 +++ b/gettext-tools/tests/xgettext-sh-8 @@ -5,6 +5,10 @@ cat <<\EOF > xg-sh-8.sh echo `gettext $'\'\x'` +gettext $'\u#' +gettext $'\U#' +gettext $'\U123456' +gettext $'\U12345678' EOF : ${XGETTEXT=xgettext} @@ -14,6 +18,18 @@ LC_ALL=C tr -d '\r' < xg-sh-8.tmp.po > xg-sh-8.po || Exit 1 cat <<\EOF > xg-sh-8.ok msgid "'\\x" msgstr "" + +msgid "\\u#" +msgstr "" + +msgid "\\U#" +msgstr "" + +msgid "\\U123456" +msgstr "" + +msgid "\\U12345678" +msgstr "" EOF : ${DIFF=diff}