cli: fix marking the active channel
Match by frequency and not by channel as the radio might have the same channel on multiple bands: $ iwinfo radio0 freqlist [snip] * 2.432 GHz (Channel 5) [snip] * 5.975 GHz (Channel 5) [snip] Signed-off-by: Andre Heider <a.heider@gmail.com>
This commit is contained in:
parent
9e14e643c5
commit
b1c8873e37
1 changed files with 4 additions and 4 deletions
|
@ -723,7 +723,7 @@ static void print_txpwrlist(const struct iwinfo_ops *iw, const char *ifname)
|
|||
|
||||
static void print_freqlist(const struct iwinfo_ops *iw, const char *ifname)
|
||||
{
|
||||
int i, len, ch;
|
||||
int i, len, freq;
|
||||
char buf[IWINFO_BUFSIZE];
|
||||
struct iwinfo_freqlist_entry *e;
|
||||
|
||||
|
@ -733,15 +733,15 @@ static void print_freqlist(const struct iwinfo_ops *iw, const char *ifname)
|
|||
return;
|
||||
}
|
||||
|
||||
if (iw->channel(ifname, &ch))
|
||||
ch = -1;
|
||||
if (iw->frequency(ifname, &freq))
|
||||
freq = -1;
|
||||
|
||||
for (i = 0; i < len; i += sizeof(struct iwinfo_freqlist_entry))
|
||||
{
|
||||
e = (struct iwinfo_freqlist_entry *) &buf[i];
|
||||
|
||||
printf("%s %s (Channel %s)%s\n",
|
||||
(ch == e->channel) ? "*" : " ",
|
||||
(freq == e->mhz) ? "*" : " ",
|
||||
format_frequency(e->mhz),
|
||||
format_channel(e->channel),
|
||||
e->restricted ? " [restricted]" : "");
|
||||
|
|
Loading…
Reference in a new issue