commit 44a6d65832fcd7a6d21cb539bb2ceabbb467f6fd
Author:     Mattias Andrée <[email protected]>
AuthorDate: Wed Mar 23 19:12:28 2016 +0100
Commit:     sin <[email protected]>
CommitDate: Sat Mar 26 08:18:47 2016 +0000

    *sum: support - when using -c
    
    Signed-off-by: Mattias Andrée <[email protected]>

diff --git a/libutil/crypt.c b/libutil/crypt.c
index 0de4269..3f849ba 100644
--- a/libutil/crypt.c
+++ b/libutil/crypt.c
@@ -89,13 +89,16 @@ cryptcheck(int argc, char *argv[], struct crypt_ops *ops, 
uint8_t *md, size_t sz
                mdchecklist(stdin, ops, md, sz, &formatsucks, &noread, 
&nonmatch);
        } else {
                for (; *argv; argc--, argv++) {
-                       if (!(fp = fopen(*argv, "r"))) {
+                       if ((*argv)[0] == '-' && !(*argv)[1]) {
+                               fp = stdin;
+                       } else if (!(fp = fopen(*argv, "r"))) {
                                weprintf("fopen %s:", *argv);
                                ret = 1;
                                continue;
                        }
                        mdchecklist(fp, ops, md, sz, &formatsucks, &noread, 
&nonmatch);
-                       fclose(fp);
+                       if (fp != stdin)
+                               fclose(fp);
                }
        }
 

Reply via email to