From 4d794cd69d5308a88a2453f3613260f0db8be8a7 Mon Sep 17 00:00:00 2001 From: clsr Date: Sun, 9 Jun 2019 13:44:41 +0200 Subject: Handle XOpenDisplay failure and close std{in,out,err} when run --- dwmclock.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'dwmclock.c') diff --git a/dwmclock.c b/dwmclock.c index 95d9679..95a0db0 100644 --- a/dwmclock.c +++ b/dwmclock.c @@ -91,11 +91,19 @@ int main(void) sigaction(SIGQUIT, &act, NULL); sigaction(SIGTERM, &act, NULL); - disp = XOpenDisplay(NULL); + if (!(disp = XOpenDisplay(NULL))) { + return EXIT_FAILURE; + } screen = DefaultScreen(disp); - root = RootWindow(disp, screen); + if (!(root = RootWindow(disp, screen))) { + return EXIT_FAILURE; + } XFetchName(disp, root, &origname); + fclose(stdin); + fclose(stdout); + fclose(stderr); + #ifdef BATTERY for (i=0; !stop; ++i) { #else @@ -155,5 +163,5 @@ int main(void) } XCloseDisplay(disp); - return 0; + return EXIT_SUCCESS; } -- cgit