Beautify wireless code
This commit is contained in:
parent
5aa7639297
commit
a9bf807cdd
42
wmiistatus.c
42
wmiistatus.c
@ -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;
|
||||||
|
Loading…
Reference in New Issue
Block a user