Xinqi Bao's Git

added -v command line option
[slstatus.git] / slstatus.c
index babcb89..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)();
@@ -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