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:
Andre Heider 2022-11-17 21:59:46 +01:00 committed by Jo-Philipp Wich
parent 9e14e643c5
commit b1c8873e37

View file

@ -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]" : "");