return count;
}
+void config_free(gpointer data)
+{
+ wifi_config_s *h = (wifi_config_s *)data;
+ g_free(h->name);
+ g_free(h->passphrase);
+ g_free(h->proxy_address);
+ if (h->eap_config) {
+ g_free(h->eap_config->ca_cert);
+ g_free(h->eap_config->client_cert);
+ g_free(h->eap_config->private_key);
+ g_free(h->eap_config->anonymous_identity);
+ g_free(h->eap_config->identity);
+ g_free(h->eap_config->subject_match);
+ g_free(h->eap_config);
+ }
+}
+
+void __clear_config_list(GSList **iterator)
+{
+ if (*iterator) {
+ g_slist_free_full(*iterator, config_free);
+ *iterator = NULL;
+ }
+}
+
bool _wifi_deinit(void)
{
int rv = net_deregister_client_ext();
g_slist_free_full(config_handle_list, g_free);
config_handle_list = NULL;
- g_slist_free_full(config_iterator, g_free);
- config_iterator = NULL;
+ __clear_config_list(&config_iterator);
return true;
}
int rv;
GSList *config_ids = NULL;
- __clear_profile_list(&config_iterator);
+ __clear_config_list(&config_iterator);
rv = _wifi_config_get_config_id_list(&config_ids);
if (rv != WIFI_MANAGER_ERROR_NONE) {