This patch makes cat -- -foo cat the file ./foo and not stdin. emg
From 71b02bf573c5345ee0994192ad74d591dc89a7d4 Mon Sep 17 00:00:00 2001 From: Evan Gates <evan.ga...@gmail.com> Date: Tue, 18 Nov 2014 13:41:52 -0800 Subject: [PATCH] read stdin if arg is exactly "-" not just begins with '-'
--- cat.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cat.c b/cat.c index a7842c8..fbf8069 100644 --- a/cat.c +++ b/cat.c @@ -30,7 +30,7 @@ main(int argc, char *argv[]) concat(stdin, "<stdin>", stdout, "<stdout>"); } else { for (; argc; argc--, argv++) { - if (argv[0][0] == '-') + if (argv[0][0] == '-' && !argv[0][1]) argv[0] = "/dev/fd/0"; if (!(fp = fopen(argv[0], "r"))) { weprintf("fopen %s:", argv[0]); -- 2.1.3