Xinqi Bao's Git

config.mk comment about -Wno-unused-functions
[slstatus.git] / slstatus.c
index 379be53..8479bf1 100644 (file)
 #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;
 };
 
@@ -90,7 +90,7 @@ smprintf(const char *fmt, ...)
        ret = malloc(++len);
        if (ret == NULL) {
                warn("Malloc failed.");
-               exit(1);
+               return "n/a";
        }
 
        va_start(ap, fmt);
@@ -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) {
@@ -592,15 +592,10 @@ sighandler(const int signo)
 static void
 usage(void)
 {
-       fprintf(stderr,
-               "slstatus (c) 2016, drkhsh\n"
-               "usage: %s [-dho]\n",
-               argv0);
+       fprintf(stderr, "usage: %s [-dhov]\n", argv0);
        exit(1);
 }
 
-
-
 int
 main(int argc, char *argv[])
 {
@@ -617,6 +612,9 @@ main(int argc, char *argv[])
                case 'o':
                        oflag = 1;
                        break;
+               case 'v':
+                       printf("%s version %s (c) 2016 slstatus engineers\n", argv0, VERSION);
+                       return 0;
                default:
                        usage();
        } ARGEND
@@ -647,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");