mirror of
https://github.com/openwrt/packages.git
synced 2025-02-07 09:19:51 +00:00
5b929fde5f
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>
72 lines
2.0 KiB
Diff
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
|