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

Reply via email to