Add cleanup() to do free(locks) + XCloseDisplay() - 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 1f66885fbf36c726b7615060d3c98cbf74218d13
 (DIR) parent 137f0076c2986306109d637599b885bdaf92cd58
 (HTM) Author: Quentin Rameau <quinq@fifth.space>
       Date:   Thu,  1 Sep 2016 13:46:19 +0200
       
       Add cleanup() to do free(locks) + XCloseDisplay()
       
       Diffstat:
         M slock.c                             |      16 ++++++++++------
       
       1 file changed, 10 insertions(+), 6 deletions(-)
       ---
 (DIR) diff --git a/slock.c b/slock.c
       @@ -230,6 +230,13 @@ unlockscreen(Display *dpy, Lock *lock)
                free(lock);
        }
        
       +static void
       +cleanup(Display *dpy)
       +{
       +        free(locks);
       +        XCloseDisplay(dpy);
       +}
       +
        static Lock *
        lockscreen(Display *dpy, int screen)
        {
       @@ -349,8 +356,7 @@ main(int argc, char **argv) {
                /* did we actually manage to lock anything? */
                if (nlocks == 0) {
                        /* nothing to protect */
       -                free(locks);
       -                XCloseDisplay(dpy);
       +                cleanup(dpy);
                        return 1;
                }
        
       @@ -358,8 +364,7 @@ main(int argc, char **argv) {
                if (argc > 0) {
                        switch (fork()) {
                        case -1:
       -                        free(locks);
       -                        XCloseDisplay(dpy);
       +                        cleanup(dpy);
                                die("slock: fork failed: %s\n", strerror(errno));
                        case 0:
                                if (close(ConnectionNumber(dpy)) < 0)
       @@ -382,8 +387,7 @@ main(int argc, char **argv) {
                for (s = 0; s < nscreens; s++)
                        unlockscreen(dpy, locks[s]);
        
       -        free(locks);
       -        XCloseDisplay(dpy);
       +        cleanup(dpy);
        
                return 0;
        }