about summary refs log tree commit diff
path: root/xe.c
diff options
context:
space:
mode:
authorLeah Neukirchen <leah@vuxu.org>2017-11-02 14:06:16 +0100
committerLeah Neukirchen <leah@vuxu.org>2017-11-02 14:06:16 +0100
commit958c9fb4320820859e6ed6f1daf6010681b6864c (patch)
tree043f65b782ed483ec6b7adf1d61489ba8aca5bbd /xe.c
parentaed173459e4004022deae04619ab42edd5830d30 (diff)
downloadxe-958c9fb4320820859e6ed6f1daf6010681b6864c.tar.gz
xe-958c9fb4320820859e6ed6f1daf6010681b6864c.tar.xz
xe-958c9fb4320820859e6ed6f1daf6010681b6864c.zip
fix use of -p and -s together
Diffstat (limited to 'xe.c')
-rw-r--r--xe.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/xe.c b/xe.c
index 25e6aa0..afdf174 100644
--- a/xe.c
+++ b/xe.c
@@ -696,18 +696,18 @@ main(int argc, char *argv[], char *envp[])
 
 				int matched = perc_match(pat, arg);
 
+				if (sflag && matched) {
+					pusharg("/bin/sh");
+					pusharg("-c");
+					pusharg(sflag);
+					pusharg("/bin/sh");
+				}
+
 				for (i = n + 1; i < cmdend; i++) {
 					if (argv[i][0] == '+' &&
 					    argv[i][1] == '\0')
 						break;
 
-					if (sflag) {
-						pusharg("/bin/sh");
-						pusharg("-c");
-						pusharg(sflag);
-						pusharg("/bin/sh");
-					}
-
 					if (matched &&
 					    !pusharg(perc_subst(pat, arg, argv[i])))
 						toolong();