summaryrefslogtreecommitdiffstats
path: root/bin/sh/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'bin/sh/main.c')
-rw-r--r--bin/sh/main.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/bin/sh/main.c b/bin/sh/main.c
index ecbb12d..15ee9e7 100644
--- a/bin/sh/main.c
+++ b/bin/sh/main.c
@@ -314,14 +314,20 @@ find_dot_file(char *basename)
int
dotcmd(int argc, char **argv)
{
- char *fullname;
+ char *filename, *fullname;
if (argc < 2)
error("missing filename");
exitstatus = 0;
- fullname = find_dot_file(argv[1]);
+ /*
+ * Because we have historically not supported any options,
+ * only treat "--" specially.
+ */
+ filename = argc > 2 && strcmp(argv[1], "--") == 0 ? argv[2] : argv[1];
+
+ fullname = find_dot_file(filename);
setinputfile(fullname, 1);
commandname = fullname;
cmdloop(0);
OpenPOWER on IntegriCloud