Revert "No need for usage()" - slock - simple X display locker utility
 (HTM) git clone git://git.suckless.org/slock
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 65b8d5278882310eed758e6fbfd6ab9676db883c
 (DIR) parent ec46680fe10ffc69007b0a8b29d9e69c72704053
 (HTM) Author: Markus Teich <markus.teich@stusta.mhn.de>
       Date:   Mon, 15 Feb 2016 14:15:45 +0100
       
       Revert "No need for usage()"
       
       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"
       
       Diffstat:
         M slock.1                             |      16 +++++++++++++---
         M slock.c                             |      17 +++++++++++++++--
       
       2 files changed, 28 insertions(+), 5 deletions(-)
       ---
 (DIR) diff --git a/slock.1 b/slock.1
       @@ -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.
 (DIR) diff --git a/slock.c b/slock.c
       @@ -273,15 +273,28 @@ lockscreen(Display *dpy, int screen)
                return NULL;
        }
        
       -int
       -main(int argc, char **argv)
       +static void
       +usage(void)
        {
       +        fprintf(stderr, "usage: slock [-v|POST_LOCK_CMD]\n");
       +        exit(1);
       +}
       +
       +int
       +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