summaryrefslogtreecommitdiff
path: root/sent.c
diff options
context:
space:
mode:
authorMarkus Teich <markus.teich@stusta.mhn.de>2016-03-06 20:49:18 +0100
committerMarkus Teich <markus.teich@stusta.mhn.de>2016-03-06 20:49:18 +0100
commitb954ed4b9f1ef7e3d4ebb3bc964338726549bfab (patch)
tree862baab84abbc76647d429295bcf500787a4da7e /sent.c
parent616aafdcb9bd336a870d875a20645d8002d8a028 (diff)
downloadsent-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.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/sent.c b/sent.c
index 6f5c139..9ad3636 100644
--- a/sent.c
+++ b/sent.c
@@ -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();
Software created with 💖