X-Git-Url: https://git.xinqibao.xyz/slstatus.git/blobdiff_plain/4dcba6b7e8219e6f06be344aba2035263c5cf3c8..9477f3b1d11521d015f0117b99235ccf72e99cb8:/slstatus.c

diff --git a/slstatus.c b/slstatus.c
index e1d271f..4a092af 100644
--- a/slstatus.c
+++ b/slstatus.c
@@ -26,14 +26,14 @@
 #undef strlcat
 #undef strlcpy
 
-#include "arg.h"
-#include "strlcat.h"
-#include "strlcpy.h"
-#include "concat.h"
+#include "extern/arg.h"
+#include "extern/strlcat.h"
+#include "extern/strlcpy.h"
+#include "extern/concat.h"
 
 struct arg {
 	char *(*func)();
-	const char *format;
+	const char *fmt;
 	const char *args;
 };
 
@@ -406,7 +406,7 @@ static char *
 run_command(const char *cmd)
 {
 	FILE *fp;
-	char buf[64] = "\0";
+	char buf[64] = "n/a";
 
 	fp = popen(cmd, "r");
 	if (fp == NULL) {
@@ -599,8 +599,6 @@ usage(void)
 	exit(1);
 }
 
-
-
 int
 main(int argc, char *argv[])
 {
@@ -633,7 +631,9 @@ main(int argc, char *argv[])
 	sigaction(SIGINT,  &act, 0);
 	sigaction(SIGTERM, &act, 0);
 
-	dpy = XOpenDisplay(NULL);
+	if (!oflag) {
+		dpy = XOpenDisplay(NULL);
+	}
 
 	while (!done) {
 		status_string[0] = '\0';
@@ -645,7 +645,7 @@ main(int argc, char *argv[])
 			} else {
 				res = argument.func(argument.args);
 			}
-			element = smprintf(argument.format, res);
+			element = smprintf(argument.fmt, res);
 			if (element == NULL) {
 				element = smprintf(UNKNOWN_STR);
 				warnx("Failed to format output");
@@ -671,9 +671,8 @@ main(int argc, char *argv[])
 
 	if (!oflag) {
 		set_status(NULL);
+		XCloseDisplay(dpy);
 	}
 
-	XCloseDisplay(dpy);
-
 	return 0;
 }