Introduction
Introduction Statistics Contact Development Disclaimer Help
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;
}
You are viewing proxied material from suckless.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.