EXPORT_API int mesh_network_clone(mesh_network_h* dst, mesh_network_h src)
{
- struct mesh_network_s *net;
- struct mesh_network_s *_src = src;;
+ struct mesh_network_s *net = NULL;
+ struct mesh_network_s *_src = src;
CHECK_FEATURE_SUPPORTED(MESH_FEATURE);
}
memcpy(net->meshid, _src->meshid, MAX_MESHID_LEN);
memcpy(net->bssid, _src->bssid, MAX_BSSID_LEN);
- //net->meshid = g_strdup(_src->meshid);
- LOGE("net->meshid=%s _src->meshid=%s", net->meshid, _src->meshid);
- //net->bssid = g_strdup(_src->bssid);
- LOGE("net->bssid=%s _src->bssid=%s", net->bssid, _src->bssid);
net->channel = _src->channel;
net->rssi = _src->rssi;
net->data_rate = _src->data_rate;
LOGE("Invalid parameter"); //LCOV_EXCL_LINE
return; //LCOV_EXCL_LINE
}
-#if 0
- free(net->meshid);
- free(net->bssid);
-#endif
- free(net);
+ if (net) free(net);
}
EXPORT_API int mesh_network_get_meshid(mesh_network_h network, char **meshid)
}
*bssid = net->bssid;
- LOGE("net->bssid = %s", net->bssid);
-
return MESH_ERROR_NONE;
}
}
struct mesh_network_list_s {
-
int count;
GList *list;
};
static void _mesh_free_network(gpointer data)
{
struct mesh_network_s *network = data;
- //g_free(network->meshid);
- //g_free(network->bssid);
- g_free(network);
+ if (network) g_free(network);
network = NULL;
}
{
if (g_networks.list)
g_list_free_full(g_networks.list, _mesh_free_network);
+ g_networks.list = NULL;
g_networks.count = 0;
}
GVariant *val;
gsize len = 0;
+ /* Clear previous scan results */
_mesh_remove_networks();
RETV_IF(NULL == h->dbus_connection, MESH_ITNL_ERR_IO_ERROR);
g_malloc0(sizeof(struct mesh_network_s));
while (g_variant_iter_loop(iter_row, "{sv}", &key, &val)) {
if (strcasecmp(key, "mesh_id") == 0) {
- //network_info->meshid = g_variant_dup_string(val, &len);
const char *buf = g_variant_get_string(val, &len);
memcpy(network_info->meshid, buf, len);
- LOGE("meshid=%s", network_info->meshid);
+ //LOGD("meshid=%s", network_info->meshid);
}
else if (strcasecmp(key, "bssid") == 0) {
- //network_info->bssid = g_variant_dup_string(val, &len);
const char *buf = g_variant_get_string(val, &len);
memcpy(network_info->bssid, buf, len);
- LOGE("bssid = %s", network_info->bssid);
+ //LOGD("bssid = %s", network_info->bssid);
}
else if (strcasecmp(key, "rssi") == 0) {
network_info->rssi = g_variant_get_int32(val);
- LOGE("rssi = %d", network_info->rssi);
+ //LOGD("rssi = %d", network_info->rssi);
}
else if (strcasecmp(key, "channel") == 0) {
network_info->channel = g_variant_get_uint32(val);
- LOGE("channel = %d", network_info->channel);
+ //LOGD("channel = %d", network_info->channel);
/* Last element */
_mesh_append_network(network_info);
/* Clear previous scanned network list */
g_scan_net_idx = 1;
- if (g_hash_scan_net_list) g_hash_table_remove_all(g_hash_scan_net_list);
+ if (g_hash_scan_net_list) {
+ g_hash_table_remove_all(g_hash_scan_net_list);
+ }
g_hash_scan_net_list =
g_hash_table_new_full(g_direct_hash, g_direct_equal, NULL, mesh_network_destroy);
/* Clear previous saved network configurations */
g_saved_net_idx = 1;
- if (g_hash_saved_net_list) g_hash_table_remove_all(g_hash_saved_net_list);
+ if (g_hash_saved_net_list) {
+ g_hash_table_remove_all(g_hash_saved_net_list);
+ }
g_hash_saved_net_list =
g_hash_table_new_full(g_direct_hash, g_direct_equal, NULL, mesh_network_destroy);