Add cleanup() to do free(locks) + XCloseDisplay() - slock - simple X display lo… | |
git clone git://git.suckless.org/slock | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 1f66885fbf36c726b7615060d3c98cbf74218d13 | |
parent 137f0076c2986306109d637599b885bdaf92cd58 | |
Author: Quentin Rameau <[email protected]> | |
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(-) | |
--- | |
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; | |
} |