diff --git a/zsh-fix-pcre-n.patch b/zsh-fix-pcre-n.patch new file mode 100644 index 0000000..681c888 --- /dev/null +++ b/zsh-fix-pcre-n.patch @@ -0,0 +1,36 @@ +commit 956829c18e8ade666083f1c69043a16a80f70b0d +Author: Barton E. Schaefer +Date: Sun Sep 7 10:48:32 2014 -0700 + + 33122: typo from 32891 caused incorrect matches for pcre_match -n + +diff --git a/Src/Modules/pcre.c b/Src/Modules/pcre.c +index 040a33f..2393cd1 100644 +--- a/Src/Modules/pcre.c ++++ b/Src/Modules/pcre.c +@@ -289,7 +289,7 @@ bin_pcre_match(char *nam, char **args, Options ops, UNUSED(int func)) + matched_portion = OPT_ARG(ops,c); + } + if(OPT_HASARG(ops,c='n')) { /* The offset position to start the search, in bytes. */ +- if ((offset_start = getposint(OPT_ARG(ops,c), nam) < 0)) ++ if ((offset_start = getposint(OPT_ARG(ops,c), nam)) < 0) + return 1; + } + /* For the entire match, 'Return' the offset byte positions instead of the matched string */ +diff --git a/Test/V07pcre.ztst b/Test/V07pcre.ztst +index f5b05de..3a65331 100644 +--- a/Test/V07pcre.ztst ++++ b/Test/V07pcre.ztst +@@ -108,3 +108,12 @@ + >1 + >0 xo→t →t + >0 Xo→t →t ++ ++ string="The following zip codes: 78884 90210 99513" ++ pcre_compile -m "\d{5}" ++ pcre_match -b -- $string && print "$MATCH; ZPCRE_OP: $ZPCRE_OP" ++ pcre_match -b -n $ZPCRE_OP[(w)2] -- $string || print failed ++ print "$MATCH; ZPCRE_OP: $ZPCRE_OP" ++0:pcre_match -b and pcre_match -n ++>78884; ZPCRE_OP: 25 30 ++>90210; ZPCRE_OP: 31 36 diff --git a/zsh.changes b/zsh.changes index 64135bd..62a72ef 100644 --- a/zsh.changes +++ b/zsh.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Sun Sep 7 20:05:41 UTC 2014 - idonmez@suse.com + +- Add zsh-fix-pcre-n.patch to fix pcre_match() -n option + ------------------------------------------------------------------- Thu Aug 28 19:14:23 UTC 2014 - idonmez@suse.com diff --git a/zsh.spec b/zsh.spec index fe63a7d..8245fec 100644 --- a/zsh.spec +++ b/zsh.spec @@ -37,6 +37,8 @@ Source16: dotzshrc.rh Source17: zshprompt.pl %endif Patch1: trim-unneeded-completions.patch +# PATCH-FIX-UPSTREAM Fix pcre_match() -n options +Patch2: zsh-fix-pcre-n.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %if 0%{?suse_version} Requires(pre): %{install_info_prereq} @@ -95,6 +97,7 @@ This package contains the Zsh manual in html format. %if 0%{?suse_version} %patch1 -p1 %endif +%patch2 -p1 # Remove executable bit chmod 0644 Etc/changelog2html.pl