Error handling: Never output null as full_text (JSON), prefix messages with i3status (Thanks Artemis)
The former made i3bar crash, the latter is helpful for debugging.
This commit is contained in:
parent
88b157cc8a
commit
296eb5e706
@ -113,5 +113,6 @@ void print_cpu_temperature_info(yajl_gen json_gen, char *buffer, int zone, const
|
||||
return;
|
||||
error:
|
||||
#endif
|
||||
OUTPUT_FULL_TEXT("cant read temp");
|
||||
(void)fputs("i3status: Cannot read temperature. Verify that you have a thermal zone in /sys/class/thermal or disable the cpu_temperature module in your i3status config.\n", stderr);
|
||||
}
|
||||
|
@ -92,5 +92,6 @@ void print_cpu_usage(yajl_gen json_gen, char *buffer, const char *format) {
|
||||
OUTPUT_FULL_TEXT(buffer);
|
||||
return;
|
||||
error:
|
||||
(void)fputs("Cannot read usage\n", stderr);
|
||||
OUTPUT_FULL_TEXT("cant read cpu usage");
|
||||
(void)fputs("i3status: Cannot read CPU usage\n", stderr);
|
||||
}
|
||||
|
@ -56,7 +56,7 @@ const char *get_ip_addr(const char *interface) {
|
||||
|
||||
int ret;
|
||||
if ((ret = getnameinfo(addrp->ifa_addr, len, part, sizeof(part), NULL, 0, NI_NUMERICHOST)) != 0) {
|
||||
fprintf(stderr, "getnameinfo(): %s\n", gai_strerror(ret));
|
||||
fprintf(stderr, "i3status: getnameinfo(): %s\n", gai_strerror(ret));
|
||||
freeifaddrs(ifaddr);
|
||||
return "no IP";
|
||||
}
|
||||
|
@ -51,7 +51,7 @@ static char *get_sockname(struct addrinfo *addr) {
|
||||
if ((ret = getnameinfo((struct sockaddr*)&local, local_len,
|
||||
buf, sizeof(buf), NULL, 0,
|
||||
NI_NUMERICHOST)) != 0) {
|
||||
fprintf(stderr, "getnameinfo(): %s\n", gai_strerror(ret));
|
||||
fprintf(stderr, "i3status: getnameinfo(): %s\n", gai_strerror(ret));
|
||||
(void)close(fd);
|
||||
return NULL;
|
||||
}
|
||||
|
@ -45,5 +45,6 @@ void print_load(yajl_gen json_gen, char *buffer, const char *format) {
|
||||
return;
|
||||
error:
|
||||
#endif
|
||||
(void)fputs("Cannot read load\n", stderr);
|
||||
OUTPUT_FULL_TEXT("cant read load");
|
||||
(void)fputs("i3status: Cannot read system load using getloadavg()\n", stderr);
|
||||
}
|
||||
|
@ -97,14 +97,14 @@ void print_volume(yajl_gen json_gen, char *buffer, const char *fmt, const char *
|
||||
}
|
||||
|
||||
if ((err = snd_mixer_open(&(hdl->m), 0)) < 0) {
|
||||
fprintf(stderr, "ALSA: Cannot open mixer: %s\n", snd_strerror(err));
|
||||
fprintf(stderr, "i3status: ALSA: Cannot open mixer: %s\n", snd_strerror(err));
|
||||
free_hdl(hdl);
|
||||
return;
|
||||
}
|
||||
|
||||
/* Attach this mixer handle to the given device */
|
||||
if ((err = snd_mixer_attach(hdl->m, device)) < 0) {
|
||||
fprintf(stderr, "ALSA: Cannot attach mixer to device: %s\n", snd_strerror(err));
|
||||
fprintf(stderr, "i3status: ALSA: Cannot attach mixer to device: %s\n", snd_strerror(err));
|
||||
snd_mixer_close(hdl->m);
|
||||
free_hdl(hdl);
|
||||
return;
|
||||
@ -112,14 +112,14 @@ void print_volume(yajl_gen json_gen, char *buffer, const char *fmt, const char *
|
||||
|
||||
/* Register this mixer */
|
||||
if ((err = snd_mixer_selem_register(hdl->m, NULL, NULL)) < 0) {
|
||||
fprintf(stderr, "ALSA: snd_mixer_selem_register: %s\n", snd_strerror(err));
|
||||
fprintf(stderr, "i3status: ALSA: snd_mixer_selem_register: %s\n", snd_strerror(err));
|
||||
snd_mixer_close(hdl->m);
|
||||
free_hdl(hdl);
|
||||
return;
|
||||
}
|
||||
|
||||
if ((err = snd_mixer_load(hdl->m)) < 0) {
|
||||
fprintf(stderr, "ALSA: snd_mixer_load: %s\n", snd_strerror(err));
|
||||
fprintf(stderr, "i3status: ALSA: snd_mixer_load: %s\n", snd_strerror(err));
|
||||
snd_mixer_close(hdl->m);
|
||||
free_hdl(hdl);
|
||||
return;
|
||||
@ -129,7 +129,7 @@ void print_volume(yajl_gen json_gen, char *buffer, const char *fmt, const char *
|
||||
snd_mixer_selem_id_set_index(hdl->sid, mixer_idx);
|
||||
snd_mixer_selem_id_set_name(hdl->sid, mixer);
|
||||
if (!(hdl->elem = snd_mixer_find_selem(hdl->m, hdl->sid))) {
|
||||
fprintf(stderr, "ALSA: Cannot find mixer %s (index %i)\n",
|
||||
fprintf(stderr, "i3status: ALSA: Cannot find mixer %s (index %i)\n",
|
||||
snd_mixer_selem_id_get_name(hdl->sid), snd_mixer_selem_id_get_index(hdl->sid));
|
||||
snd_mixer_close(hdl->m);
|
||||
free_hdl(hdl);
|
||||
@ -155,7 +155,7 @@ void print_volume(yajl_gen json_gen, char *buffer, const char *fmt, const char *
|
||||
if (snd_mixer_selem_has_playback_switch(hdl->elem)) {
|
||||
int pbval;
|
||||
if ((err = snd_mixer_selem_get_playback_switch(hdl->elem, 0, &pbval)) < 0)
|
||||
fprintf (stderr, "ALSA: playback_switch: %s\n", snd_strerror(err));
|
||||
fprintf (stderr, "i3status: ALSA: playback_switch: %s\n", snd_strerror(err));
|
||||
if (!pbval)
|
||||
avg = 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user