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)
|
static void print_freqlist(const struct iwinfo_ops *iw, const char *ifname)
|
||||||
{
|
{
|
||||||
int i, len, ch;
|
int i, len, freq;
|
||||||
char buf[IWINFO_BUFSIZE];
|
char buf[IWINFO_BUFSIZE];
|
||||||
struct iwinfo_freqlist_entry *e;
|
struct iwinfo_freqlist_entry *e;
|
||||||
|
|
||||||
|
@ -733,15 +733,15 @@ static void print_freqlist(const struct iwinfo_ops *iw, const char *ifname)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (iw->channel(ifname, &ch))
|
if (iw->frequency(ifname, &freq))
|
||||||
ch = -1;
|
freq = -1;
|
||||||
|
|
||||||
for (i = 0; i < len; i += sizeof(struct iwinfo_freqlist_entry))
|
for (i = 0; i < len; i += sizeof(struct iwinfo_freqlist_entry))
|
||||||
{
|
{
|
||||||
e = (struct iwinfo_freqlist_entry *) &buf[i];
|
e = (struct iwinfo_freqlist_entry *) &buf[i];
|
||||||
|
|
||||||
printf("%s %s (Channel %s)%s\n",
|
printf("%s %s (Channel %s)%s\n",
|
||||||
(ch == e->channel) ? "*" : " ",
|
(freq == e->mhz) ? "*" : " ",
|
||||||
format_frequency(e->mhz),
|
format_frequency(e->mhz),
|
||||||
format_channel(e->channel),
|
format_channel(e->channel),
|
||||||
e->restricted ? " [restricted]" : "");
|
e->restricted ? " [restricted]" : "");
|
||||||
|
|
Loading…
Reference in a new issue