0
0
mirror of https://github.com/openwrt/packages.git synced 2025-02-07 09:19:51 +00:00
packages/utils/zsh/patches/001-50658-test-Enable-to-switch-between-C-UTF-8-locales-.patch
Christian Marangi 5b929fde5f zsh: backport PCRE2 patches and move to it
Backport PCRE2 patches from upstream and move package to PCRE2 library
as PCRE is EOL and won't receive any security update anymore.

Patch are backported with minimal change, only the Changelog change is
commented out as it would conflict and makes no sense to adapt for the
purpose of backport patches.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2023-10-10 12:29:49 +02:00

72 lines
2.0 KiB
Diff

From 1b421e4978440234fb73117c8505dad1ccc68d46 Mon Sep 17 00:00:00 2001
From: Jun-ichi Takimoto <takimoto-j@kba.biglobe.ne.jp>
Date: Mon, 26 Sep 2022 10:52:50 +0900
Subject: [PATCH] 50658 + test: Enable to switch between C/UTF-8 locales in
PCRE
---
ChangeLog | 5 +++++
Src/Modules/pcre.c | 10 ++--------
Test/V07pcre.ztst | 11 +++++++++++
3 files changed, 18 insertions(+), 8 deletions(-)
# diff --git a/ChangeLog b/ChangeLog
# index 48c65d01b..77345c050 100644
# --- a/ChangeLog
# +++ b/ChangeLog
# @@ -1,3 +1,8 @@
# +2022-09-26 Jun-ichi Takimoto <takimoto-j@kba.biglobe.ne.jp>
# +
# + * 50658 + test: Src/Modules/pcre.c, Test/V07pcre.ztst: Enable to
# + switch between C/UTF-8 locales in PCRE
# +
# 2022-09-25 Peter Stephenson <p.w.stephenson@ntlworld.com>
# * 50648: Functions/Misc/zcalc: Julian Prein: Use ZCALC_HISTFILE
--- a/Src/Modules/pcre.c
+++ b/Src/Modules/pcre.c
@@ -47,8 +47,6 @@ zpcre_utf8_enabled(void)
#if defined(MULTIBYTE_SUPPORT) && defined(HAVE_NL_LANGINFO) && defined(CODESET)
static int have_utf8_pcre = -1;
- /* value can toggle based on MULTIBYTE, so don't
- * be too eager with caching */
if (have_utf8_pcre < -1)
return 0;
@@ -56,15 +54,11 @@ zpcre_utf8_enabled(void)
return 0;
if ((have_utf8_pcre == -1) &&
- (!strcmp(nl_langinfo(CODESET), "UTF-8"))) {
-
- if (pcre_config(PCRE_CONFIG_UTF8, &have_utf8_pcre))
+ (pcre_config(PCRE_CONFIG_UTF8, &have_utf8_pcre))) {
have_utf8_pcre = -2; /* erk, failed to ask */
}
- if (have_utf8_pcre < 0)
- return 0;
- return have_utf8_pcre;
+ return (have_utf8_pcre == 1) && (!strcmp(nl_langinfo(CODESET), "UTF-8"));
#else
return 0;
--- a/Test/V07pcre.ztst
+++ b/Test/V07pcre.ztst
@@ -174,3 +174,14 @@
echo $match[2] )
0:regression for segmentation fault, workers/38307
>test
+
+ LANG_SAVE=$LANG
+ [[ é =~ '^.\z' ]]; echo $?
+ LANG=C
+ [[ é =~ '^..\z' ]]; echo $?
+ LANG=$LANG_SAVE
+ [[ é =~ '^.\z' ]]; echo $?
+0:swich between C/UTF-8 locales
+>0
+>0
+>0