[hackers] [PATCH] [slock] Revert "No need for usage()"

From: Markus Teich <markus.teich_AT_stusta.mhn.de>
Date: Mon, 15 Feb 2016 14:29:34 +0100

This reverts most of commit a6dc051e3744ce5b14c54d2d246d3e8258207e76 and fixes
some related stuff:

- keep spelling fixes from original commit
- make -h and -v also work when followed by more arguments
- any unknown flag prints usage
- fix output of -v to display "slock: version 1.3" instead of "slock: slock-1.3"
---
 slock.1 | 16 +++++++++++++---
 slock.c | 17 +++++++++++++++--
 2 files changed, 28 insertions(+), 5 deletions(-)
diff --git a/slock.1 b/slock.1
index 467194d..0ef3e15 100644
--- a/slock.1
+++ b/slock.1
_AT_@ -3,17 +3,27 @@
 slock \- simple X screen locker
 .SH SYNOPSIS
 .B slock
-.RB [
-.IR cmd
-]
+.RB [ \-v
+|
+.IR cmd ]
 .SH DESCRIPTION
 .B slock
 is an X screen locker. If provided,
 .IR cmd
 is executed after the screen has been locked.
+.SH OPTIONS
+.TP
+.B \-v
+prints version information to stdout, then exits.
 .SH EXAMPLES
 $ slock /usr/sbin/s2ram
 .SH CUSTOMIZATION
 .B slock
 can be customized by creating a custom config.h and (re)compiling the source
 code. This keeps it fast, secure and simple.
+.SH AUTHORS
+See the LICENSE file for the authors.
+.SH LICENSE
+See the LICENSE file for the terms of redistribution.
+.SH BUGS
+Please report them.
diff --git a/slock.c b/slock.c
index 2aa395e..c9cdee2 100644
--- a/slock.c
+++ b/slock.c
_AT_@ -273,15 +273,28 @@ lockscreen(Display *dpy, int screen)
 	return NULL;
 }
 
+static void
+usage(void)
+{
+	fprintf(stderr, "usage: slock [-v|POST_LOCK_CMD]\n");
+	exit(1);
+}
+
 int
-main(int argc, char **argv)
-{
+main(int argc, char **argv) {
 #ifndef HAVE_BSD_AUTH
 	const char *pws;
 #endif
 	Display *dpy;
 	int screen;
 
+	if ((argc >= 2) && !strcmp("-v", argv[1]))
+		die("version %s, © 2006-2016 slock engineers\n", VERSION);
+
+	/* treat first argument starting with a '-' as option */
+	if ((argc >= 2) && argv[1][0] == '-')
+		usage();
+
 #ifdef __linux__
 	dontkillme();
 #endif
-- 
2.4.10
Received on Mon Feb 15 2016 - 14:29:34 CET

This archive was generated by hypermail 2.3.0 : Mon Feb 15 2016 - 14:36:20 CET