X-Git-Url: https://git.xinqibao.xyz/slstatus.git/blobdiff_plain/b4f55e7170576a2dd800018c8690832bbc7f9bf0..f9f72a06f11de9ecd1b14811eba63c6e8c7a1165:/slstatus.c?ds=sidebyside diff --git a/slstatus.c b/slstatus.c index 40aaa19..5c7659c 100644 --- a/slstatus.c +++ b/slstatus.c @@ -29,7 +29,7 @@ #include "strlcat.h" #include "strlcpy.h" -typedef char *(*op_fun) (const char *); +typedef char *(*op_fun)(); struct arg { op_fun func; const char *format; @@ -255,14 +255,8 @@ entropy(void) static char * gid(void) { - gid_t gid; - - if ((gid = getgid()) < 0) { - fprintf(stderr, "Could no get gid.\n"); - return smprintf(unknowntext); - } else - return smprintf("%d", gid); - return smprintf(unknowntext); + gid_t gid = getgid(); + return smprintf("%d", gid); } static char * @@ -520,8 +514,8 @@ vol_perc(const char *soundcard) pcm_mixer = snd_mixer_find_selem(handle, vol_info); mas_mixer = snd_mixer_find_selem(handle, mute_info); - snd_mixer_selem_get_playback_volume_range((snd_mixer_elem_t *)pcm_mixer, &min, &max); - snd_mixer_selem_get_playback_volume((snd_mixer_elem_t *)pcm_mixer, SND_MIXER_SCHN_MONO, &vol); + snd_mixer_selem_get_playback_volume_range(pcm_mixer, &min, &max); + snd_mixer_selem_get_playback_volume(pcm_mixer, SND_MIXER_SCHN_MONO, &vol); snd_mixer_selem_get_playback_switch(mas_mixer, SND_MIXER_SCHN_MONO, &mute); if (vol_info) @@ -612,7 +606,9 @@ wifi_essid(const char *wificard) int main(void) { - char status_string[1024]; + size_t i; + char status_string[4096]; + char *res, *element; struct arg argument; if (!(dpy = XOpenDisplay(0x0))) { @@ -622,13 +618,13 @@ main(void) for (;;) { memset(status_string, 0, sizeof(status_string)); - for (size_t i = 0; i < sizeof(args) / sizeof(args[0]); ++i) { + for (i = 0; i < sizeof(args) / sizeof(args[0]); ++i) { argument = args[i]; if (argument.args == NULL) - char *res = argument.func(); + res = argument.func(); else - char *res = argument.func(argument.args); - char *element = smprintf(argument.format, res); + res = argument.func(argument.args); + element = smprintf(argument.format, res); if (element == NULL) { element = smprintf(unknowntext); fprintf(stderr, "Failed to format output.\n");