X-Git-Url: https://git.xinqibao.xyz/slstatus.git/blobdiff_plain/37959ca569a4bf69c6c1bbb16991cfc6d8452970..f4a383382cdd4a1aba1bb3f731e14ba85e6d0b4a:/slstatus.c diff --git a/slstatus.c b/slstatus.c index 99ef720..34fd951 100644 --- a/slstatus.c +++ b/slstatus.c @@ -1,4 +1,11 @@ -/* See LICENSE file for copyright and license details. */ +/* + * Copyright (C) 2016, drkhsh + * Copyright (C) 2016, Ali H. Fardan (Raiz) + * see LICENSE for copyright details + */ + +#define _GNU_SOURCE +#define VERSION "2.0" #include #include @@ -37,34 +44,34 @@ struct arg { const char *args; }; -static char *smprintf(const char *, ...); -static char *battery_perc(const char *); -static char *battery_state(const char *); +static char *smprintf(const char *fmt, ...); +static char *battery_perc(const char *bat); +static char *battery_state(const char *bat); static char *cpu_perc(void); -static char *datetime(const char *); -static char *disk_free(const char *); -static char *disk_perc(const char *); -static char *disk_total(const char *); -static char *disk_used(const char *); +static char *datetime(const char *fmt); +static char *disk_free(const char *mnt); +static char *disk_perc(const char *mnt); +static char *disk_total(const char *mnt); +static char *disk_used(const char *mnt); static char *entropy(void); static char *gid(void); static char *hostname(void); -static char *ip(const char *); +static char *ip(const char *iface); static char *load_avg(void); static char *ram_free(void); static char *ram_perc(void); static char *ram_used(void); static char *ram_total(void); -static char *run_command(const char *); -static char *temp(const char *); +static char *run_command(const char *cmd); +static char *temp(const char *file); static char *uid(void); static char *uptime(void); static char *username(void); -static char *vol_perc(const char *); -static char *wifi_perc(const char *); -static char *wifi_essid(const char *); -static void set_status(const char *); -static void sighandler(const int); +static char *vol_perc(const char *card); +static char *wifi_perc(const char *iface); +static char *wifi_essid(const char *iface); +static void set_status(const char *str); +static void sighandler(const int signo); static void usage(void); char *argv0; @@ -88,10 +95,8 @@ smprintf(const char *fmt, ...) va_end(ap); ret = malloc(++len); - if (ret == NULL) { - warn("Malloc failed."); - exit(1); - } + if (ret == NULL) + err(1, "malloc"); va_start(ap, fmt); vsnprintf(ret, len, fmt, ap); @@ -406,7 +411,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 +597,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 +617,9 @@ main(int argc, char *argv[]) case 'o': oflag = 1; break; + case 'v': + printf("slstatus %s (C) 2016 slstatus engineers\n", VERSION); + return 0; default: usage(); } ARGEND