about summary refs log tree commit diff
path: root/Src/Modules
diff options
context:
space:
mode:
authorTanaka Akira <akr@users.sourceforge.net>1999-12-25 11:38:25 +0000
committerTanaka Akira <akr@users.sourceforge.net>1999-12-25 11:38:25 +0000
commitef6e4cd4598dd53882e29345fd6cb6faf492a49d (patch)
tree7bd7fbfce980aa872e070780b30be3cf25ce01de /Src/Modules
parentdf83b417e29b75b465c5cc2c5cd7131fd8f5b99b (diff)
downloadzsh-ef6e4cd4598dd53882e29345fd6cb6faf492a49d.tar.gz
zsh-ef6e4cd4598dd53882e29345fd6cb6faf492a49d.tar.xz
zsh-ef6e4cd4598dd53882e29345fd6cb6faf492a49d.zip
zsh-workers/9156
Diffstat (limited to 'Src/Modules')
-rw-r--r--Src/Modules/zutil.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/Src/Modules/zutil.c b/Src/Modules/zutil.c
index fb95fdcdc..742baf7fb 100644
--- a/Src/Modules/zutil.c
+++ b/Src/Modules/zutil.c
@@ -992,7 +992,7 @@ rparsealt(RParseResult *result, jmp_buf *perr)
 }
 
 static int
-rmatch(RParseResult *sm, char *subj, char *var1, char *var2)
+rmatch(RParseResult *sm, char *subj, char *var1, char *var2, int comp)
 {
     LinkNode ln, lnn;
     LinkList nexts;
@@ -1080,8 +1080,8 @@ rmatch(RParseResult *sm, char *subj, char *var1, char *var2)
 	}
     } while(ln);
 
-    if(!*subj)
-        for(ln = firstnode(sm->out); ln; ln = nextnode(ln)) {
+    if(!comp && !*subj)
+	for(ln = firstnode(sm->out); ln; ln = nextnode(ln)) {
 	    br = getdata(ln);
 	    if(br->state == st) {
 		for(ln = firstnode(br->actions); ln; ln = nextnode(ln)) {
@@ -1141,7 +1141,7 @@ bin_regexparse(char *nam, char **args, char *ops, int func)
 	    ret = 0;
 
 	if(!ret)
-	    ret = rmatch(&result, subj, var1, var2);
+	    ret = rmatch(&result, subj, var1, var2, ops['c']);
         popheap();
     } LASTALLOC;
 
@@ -1152,7 +1152,7 @@ bin_regexparse(char *nam, char **args, char *ops, int func)
 static struct builtin bintab[] = {
     BUILTIN("zstyle", 0, bin_zstyle, 0, -1, 0, NULL, NULL),
     BUILTIN("zformat", 0, bin_zformat, 3, -1, 0, NULL, NULL),
-    BUILTIN("regexparse", 0, bin_regexparse, 3, -1, 0, NULL, NULL),
+    BUILTIN("regexparse", 0, bin_regexparse, 3, -1, 0, "c", NULL),
 };