about summary refs log tree commit diff
path: root/xe.c
diff options
context:
space:
mode:
authorLeah Neukirchen <leah@vuxu.org>2017-10-17 17:15:13 +0200
committerLeah Neukirchen <leah@vuxu.org>2017-10-17 17:18:56 +0200
commit289397289982b2e383dbf1bb9627a413b12d3239 (patch)
treecc0def712863b97be7743e454da06748920b1053 /xe.c
parentccfd5af5f1263c8206ac7af2e603c5afb2f92e47 (diff)
downloadxe-289397289982b2e383dbf1bb9627a413b12d3239.tar.gz
xe-289397289982b2e383dbf1bb9627a413b12d3239.tar.xz
xe-289397289982b2e383dbf1bb9627a413b12d3239.zip
use /bin/sh as $0 for shell scripts when using -s
Using - as $0 results in undefined behavior, and actually makes FreeBSD
/bin/sh ignore the - and use the next argument as script name.
Diffstat (limited to 'xe.c')
-rw-r--r--xe.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/xe.c b/xe.c
index 000c0b3..100d196 100644
--- a/xe.c
+++ b/xe.c
@@ -700,7 +700,7 @@ main(int argc, char *argv[], char *envp[])
 						pusharg("/bin/sh");
 						pusharg("-c");
 						pusharg(sflag);
-						pusharg("-");
+						pusharg("/bin/sh");
 					}
 
 					if (matched &&
@@ -734,7 +734,7 @@ main(int argc, char *argv[], char *envp[])
 			pusharg("/bin/sh");
 			pusharg("-c");
 			pusharg(sflag);
-			pusharg("-");
+			pusharg("/bin/sh");
 		} else if (optind >= cmdend) {
 			pusharg("printf");
 			pusharg("%s\\n");