No longer wrongly set the status as not associated while listing networks
This commit is contained in:
parent
27bcd3977e
commit
13fec67315
|
@ -1476,10 +1476,8 @@ static void _read_list_networks(WPA * wpa, char const * buf, size_t cnt)
|
||||||
n->enabled = 0;
|
n->enabled = 0;
|
||||||
else if(res >= 4 && strcmp(flags, "CURRENT") == 0)
|
else if(res >= 4 && strcmp(flags, "CURRENT") == 0)
|
||||||
{
|
{
|
||||||
/* XXX let it be set from the status */
|
|
||||||
wpa->networks_cur = wpa->networks_cnt - 1;
|
wpa->networks_cur = wpa->networks_cnt - 1;
|
||||||
/* XXX may be associated already */
|
_wpa_queue(wpa, &wpa->channel[0], WC_STATUS);
|
||||||
_wpa_set_status(wpa, TRUE, FALSE, ssid);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1812,6 +1810,7 @@ static void _read_scan_results_reset(WPA * wpa, GtkTreeModel * model)
|
||||||
static void _read_status(WPA * wpa, char const * buf, size_t cnt)
|
static void _read_status(WPA * wpa, char const * buf, size_t cnt)
|
||||||
{
|
{
|
||||||
gboolean associated = FALSE;
|
gboolean associated = FALSE;
|
||||||
|
int id = -1;
|
||||||
char * network = NULL;
|
char * network = NULL;
|
||||||
size_t i;
|
size_t i;
|
||||||
size_t j;
|
size_t j;
|
||||||
|
@ -1838,7 +1837,14 @@ static void _read_status(WPA * wpa, char const * buf, size_t cnt)
|
||||||
continue;
|
continue;
|
||||||
variable[sizeof(variable) - 1] = '\0';
|
variable[sizeof(variable) - 1] = '\0';
|
||||||
value[sizeof(value) - 1] = '\0';
|
value[sizeof(value) - 1] = '\0';
|
||||||
if(strcmp(variable, "key_mgmt") == 0)
|
if(strcmp(variable, "id") == 0)
|
||||||
|
{
|
||||||
|
errno = 0;
|
||||||
|
id = strtol(value, NULL, 10);
|
||||||
|
if(errno != 0 || value[0] == '\0' || id < 0)
|
||||||
|
id = -1;
|
||||||
|
}
|
||||||
|
else if(strcmp(variable, "key_mgmt") == 0)
|
||||||
/* XXX */
|
/* XXX */
|
||||||
_read_scan_results_flag(wpa, value, &wpa->flags);
|
_read_scan_results_flag(wpa, value, &wpa->flags);
|
||||||
else if(strcmp(variable, "wpa_state") == 0)
|
else if(strcmp(variable, "wpa_state") == 0)
|
||||||
|
@ -1863,11 +1869,20 @@ static void _read_status(WPA * wpa, char const * buf, size_t cnt)
|
||||||
/* reflect the status */
|
/* reflect the status */
|
||||||
if(associated == TRUE)
|
if(associated == TRUE)
|
||||||
{
|
{
|
||||||
|
/* no longer ask for any password */
|
||||||
if(wpa->pw_window != NULL)
|
if(wpa->pw_window != NULL)
|
||||||
gtk_widget_hide(wpa->pw_window);
|
gtk_widget_hide(wpa->pw_window);
|
||||||
}
|
}
|
||||||
_wpa_set_status(wpa, TRUE, associated, network);
|
_wpa_set_status(wpa, TRUE, associated, network);
|
||||||
free(network);
|
free(network);
|
||||||
|
if(id >= 0)
|
||||||
|
/* set the current network */
|
||||||
|
for(i = 0; i < wpa->networks_cnt; i++)
|
||||||
|
if(wpa->networks[i].id == (unsigned int)id)
|
||||||
|
{
|
||||||
|
wpa->networks_cur = i;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void _read_unsolicited(WPA * wpa, char const * buf, size_t cnt)
|
static void _read_unsolicited(WPA * wpa, char const * buf, size_t cnt)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user