X-Git-Url: https://git.xinqibao.xyz/slstatus.git/blobdiff_plain/16d01e8ded5baf47c18fdc7b093abdfc277e6961..8894244cb8ad92569a1cbe9854ba3a7b97102e20:/slstatus.c?ds=sidebyside diff --git a/slstatus.c b/slstatus.c index cb6282f..b34ea30 100644 --- a/slstatus.c +++ b/slstatus.c @@ -217,7 +217,7 @@ volume() { int mute = 0; long vol = 0, max = 0, min = 0; - + /* get volume from alsa */ snd_mixer_t *handle; snd_mixer_elem_t *pcm_mixer, *mas_mixer; @@ -232,12 +232,9 @@ volume() snd_mixer_selem_id_set_name(mute_info, channel); 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_switch(mas_mixer, SND_MIXER_SCHN_MONO, - &mute); + 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_switch(mas_mixer, SND_MIXER_SCHN_MONO, &mute); if (vol_info) snd_mixer_selem_id_free(vol_info); if (mute_info) @@ -264,9 +261,12 @@ wifi_signal() char path_end[11] = "/operstate"; char path[32]; char status[5]; + char needle[sizeof wificard + 1]; FILE *fp; /* generate the path name */ + + memset(path, 0, sizeof path); strcat(path, path_start); strcat(path, wificard); strcat(path, path_end); @@ -295,10 +295,12 @@ wifi_signal() } /* extract the signal strength */ + strcpy(needle, wificard); + strcat(needle, ":"); fgets(buf, bufsize, fp); fgets(buf, bufsize, fp); fgets(buf, bufsize, fp); - if ((datastart = strstr(buf, "wlp3s0:")) != NULL) { + if ((datastart = strstr(buf, needle)) != NULL) { datastart = strstr(buf, ":"); sscanf(datastart + 1, " %*d %d %*d %*d %*d %*d %*d %*d %*d %*d", &strength); } @@ -330,7 +332,7 @@ main() char *pVolume = NULL; char *pDatetime = NULL; - /* return status every second */ + /* return status every second */ for (;;) { pWifi_signal = wifi_signal(); pBattery = battery();