Introduction
Introduction Statistics Contact Development Disclaimer Help
Fix cmdline argument check - sent - simple plaintext presentation tool
git clone git://git.suckless.org/sent
Log
Files
Refs
README
LICENSE
---
commit b954ed4b9f1ef7e3d4ebb3bc964338726549bfab
parent 616aafdcb9bd336a870d875a20645d8002d8a028
Author: Markus Teich <[email protected]>
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(-)
---
diff --git a/README.md b/README.md
@@ -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 `#` wi…
-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
diff --git a/sent.c b/sent.c
@@ -689,7 +689,7 @@ void
usage()
{
die("sent " VERSION " (c) 2014-2015 [email protected]\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();
You are viewing proxied material from suckless.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.