diff options
author | Markus Teich <markus.teich@stusta.mhn.de> | 2016-03-06 20:49:18 +0100 |
---|---|---|
committer | Markus Teich <markus.teich@stusta.mhn.de> | 2016-03-06 20:49:18 +0100 |
commit | b954ed4b9f1ef7e3d4ebb3bc964338726549bfab (patch) | |
tree | 862baab84abbc76647d429295bcf500787a4da7e /sent.c | |
parent | 616aafdcb9bd336a870d875a20645d8002d8a028 (diff) | |
download | sent-b954ed4b9f1ef7e3d4ebb3bc964338726549bfab.tar.gz sent-b954ed4b9f1ef7e3d4ebb3bc964338726549bfab.tar.bz2 sent-b954ed4b9f1ef7e3d4ebb3bc964338726549bfab.zip |
Fix cmdline argument check
There was a segfault when sent was called without arguments. Now we use stdin
when there's no argument or - is used. Thanks to izabera for the report.
Diffstat (limited to 'sent.c')
-rw-r--r-- | sent.c | 13 |
1 files changed, 7 insertions, 6 deletions
@@ -689,7 +689,7 @@ void usage() { die("sent " VERSION " (c) 2014-2015 markus.teich@stusta.mhn.de\n" \ - "usage: sent FILE", argv0); + "usage: sent [FILE]", argv0); } int @@ -703,12 +703,13 @@ main(int argc, char *argv[]) usage(); } ARGEND; - if ((fp = strcmp(argv[0], "-") ? fopen(argv[0], "r") : stdin)) { - load(fp); - fclose(fp); - } else { + if (!argv[0] || !strcmp(argv[0], "-")) + fp = stdin; + else if (!(fp = fopen(argv[0], "r"))) die("Unable to open '%s' for reading:", argv[0]); - } + + load(fp); + fclose(fp); if (!slidecount) usage(); |