summaryrefslogtreecommitdiff
path: root/debian/patches/0003-regex-match-crash-fix.diff
blob: d0aaa5aeaed2caac8e53b33a0b5490490cefa97f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Upstream fix. See:
    <http://www.zsh.org/mla/workers/2011/msg00027.html>

Index: pkg-zsh/Src/text.c
===================================================================
--- pkg-zsh.orig/Src/text.c	2011-02-20 13:20:25.000000000 +0100
+++ pkg-zsh/Src/text.c	2011-02-20 13:20:57.000000000 +0100
@@ -785,8 +785,7 @@
 			    taddstr(" ");
 			    taddstr(ecgetstr(state, EC_NODUP, NULL));
 			    if (ctype == COND_STREQ ||
-				ctype == COND_STRNEQ ||
-				ctype == COND_REGEX)
+				ctype == COND_STRNEQ)
 				state->pc++;
 			} else {
 			    /* Unary test: `-f foo' etc. */ 
Index: pkg-zsh/Test/C02cond.ztst
===================================================================
--- pkg-zsh.orig/Test/C02cond.ztst	2011-02-20 13:20:36.000000000 +0100
+++ pkg-zsh/Test/C02cond.ztst	2011-02-20 13:20:57.000000000 +0100
@@ -306,6 +306,21 @@
 2:Error message for unknown infix condition
 ?(eval):1: unknown condition: -fail
 
+  crashme() {
+    if [[ $1 =~ ^http:* ]]
+    then
+      url=${1#*=}
+    fi
+  }
+  which crashme
+0:Regression test for examining code with regular expression match
+>crashme () {
+>	if [[ $1 =~ ^http:* ]]
+>	then
+>		url=${1#*=} 
+>	fi
+>}
+
 %clean
   # This works around a bug in rm -f in some versions of Cygwin
   chmod 644 unmodish