Beautify wireless code

This commit is contained in:
Michael Stapelberg 2009-01-25 19:43:02 +01:00
parent 5aa7639297
commit a9bf807cdd

View File

@ -100,7 +100,7 @@ static void cleanup_rbar_dir() {
/* /*
* Creates the specified file in wmii's /rbar directory with * Creates the specified file in wmii's /rbar directory with
* correct modes and initializes colors if colormode is enabled * correct modes and initializes colors if colormode is enabled
* ' *
*/ */
static void create_file(const char *name) { static void create_file(const char *name) {
char pathbuf[strlen(wmii_path)+256+1]; char pathbuf[strlen(wmii_path)+256+1];
@ -200,7 +200,7 @@ void die(const char *fmt, ...) {
} }
/* /*
* Skip the given character for maximum 'amount' times, returns * Skip the given character for exactly 'amount' times, returns
* a pointer to the first non-'character' character in 'input'. * a pointer to the first non-'character' character in 'input'.
* *
*/ */
@ -298,34 +298,24 @@ static char *get_wireless_info() {
(void)read(fd, buf, sizeof(buf)); (void)read(fd, buf, sizeof(buf));
(void)close(fd); (void)close(fd);
interfaces = skip_character(buf, '\n', 2) + 1; interfaces = skip_character(buf, '\n', 1) + 1;
while (interfaces < buf+strlen(buf)) { while ((interfaces = skip_character(interfaces, '\n', 1)+1) < buf+strlen(buf)) {
while (isspace((int)*interfaces)) while (isspace((int)*interfaces))
interfaces++; interfaces++;
if (strncmp(interfaces, wlan_interface, strlen(wlan_interface)) == 0) { if (!BEGINS_WITH(interfaces, wlan_interface))
int quality; continue;
/* Skip status field (0000) */ int quality;
interfaces += strlen(wlan_interface) + 2; if (sscanf(interfaces, "%*[^:]: 0000 %d", &quality) != 1)
interfaces = skip_character(interfaces, ' ', 1); continue;
while (isspace((int)*interfaces)) /* for some reason, I get 255 sometimes */
interfaces++; if ((quality == 255) || (quality == 0)) {
quality = atoi(interfaces);
/* For some reason, I get 255 sometimes */
if ((quality == 255) || (quality == 0)) {
if (use_colors) if (use_colors)
(void)snprintf(part, sizeof(part), "%s%s", concat("#FF0000 ", wmii_normcolors), " W: down"); (void)snprintf(part, sizeof(part), "%s%s",
concat("#FF0000 ", wmii_normcolors), " W: down");
else (void)snprintf(part, sizeof(part), "W: down"); else (void)snprintf(part, sizeof(part), "W: down");
} else (void)snprintf(part, sizeof(part), "W: (%03d%%) %s",
} else { quality, get_ip_address(wlan_interface));
const char *ip_address; return part;
(void)snprintf(part, sizeof(part), "W: (%03d%%) ", quality);
ip_address = get_ip_address(wlan_interface);
strcpy(part+strlen(part), ip_address);
}
return part;
}
interfaces = skip_character(interfaces, '\n', 1) + 1;
} }
return part; return part;