if (rate <= 0)
snprintf(buf, sizeof(buf), "unknown");
else
- snprintf(buf, sizeof(buf), "%.1f MBit/s", ((float)rate / 1000.0));
+ snprintf(buf, sizeof(buf), "%d.%d MBit/s",
+ rate / 1000, (rate % 1000) / 100);
return buf;
}
case 3:
snprintf(buf, sizeof(buf), "mixed WPA/WPA2 %s (%s)",
format_enc_suites(c->auth_suites),
- format_enc_ciphers(c->pair_ciphers & c->group_ciphers));
+ format_enc_ciphers(c->pair_ciphers | c->group_ciphers));
break;
case 2:
snprintf(buf, sizeof(buf), "WPA2 %s (%s)",
format_enc_suites(c->auth_suites),
- format_enc_ciphers(c->pair_ciphers & c->group_ciphers));
+ format_enc_ciphers(c->pair_ciphers | c->group_ciphers));
break;
case 1:
snprintf(buf, sizeof(buf), "WPA %s (%s)",
format_enc_suites(c->auth_suites),
- format_enc_ciphers(c->pair_ciphers & c->group_ciphers));
+ format_enc_ciphers(c->pair_ciphers | c->group_ciphers));
break;
}
}
static char * print_mode(const struct iwinfo_ops *iw, const char *ifname)
{
+ int mode;
static char buf[128];
- if (iw->mode(ifname, buf))
- snprintf(buf, sizeof(buf), "unknown");
+ if (iw->mode(ifname, &mode))
+ mode = IWINFO_OPMODE_UNKNOWN;
+
+ snprintf(buf, sizeof(buf), "%s", IWINFO_OPMODE_NAMES[mode]);
return buf;
}
printf(" ESSID: %s\n",
format_ssid(e->ssid));
printf(" Mode: %s Channel: %s\n",
- e->mode ? (char *)e->mode : "unknown",
+ IWINFO_OPMODE_NAMES[e->mode],
format_channel(e->channel));
printf(" Signal: %s Quality: %s/%s\n",
format_signal(e->signal - 0x100),