~kris/suckless

slock

1f66885fbf36c726b7615060d3c98cbf74218d13 — Quentin Rameau 10 years ago 137f007
Add cleanup() to do free(locks) + XCloseDisplay()
1 files changed, 10 insertions(+), 6 deletions(-)

M slock.c
M slock.c => slock.c +10 -6
@@ 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;
}