t* My version of sent URI git clone git://git.codevoid.de/sent-sdk.git DIR Log DIR Files DIR Refs DIR README DIR LICENSE --- DIR commit b954ed4b9f1ef7e3d4ebb3bc964338726549bfab DIR parent 616aafdcb9bd336a870d875a20645d8002d8a028 URI Author: Markus Teich <markus.teich@stusta.mhn.de> Date: Sun, 6 Mar 2016 20:49:18 +0100 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: M README.md | 10 +++++----- M sent.c | 13 +++++++------ 2 files changed, 12 insertions(+), 11 deletions(-) --- DIR diff --git a/README.md b/README.md t@@ -25,12 +25,12 @@ You can navigate with the arrow keys and quit with `q`. Usage - sent FILE + sent [FILE] -If FILE equals `-`, stdin will be read. Produce image slides by prepending a -`@` in front of the filename as a single paragraph. Lines starting with `#` will -be ignored. A `\` at the beginning of the line escapes `@` and `#`. A -presentation file could look like this: +If FILE is omitted or equals `-`, stdin will be read. Produce image slides by +prepending a `@` in front of the filename as a single paragraph. Lines starting +with `#` will be ignored. A `\` at the beginning of the line escapes `@` and +`#`. A presentation file could look like this: sent DIR diff --git a/sent.c b/sent.c t@@ -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 t@@ -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();