diff options
Diffstat (limited to 'src/nm-cloud-setup/nmcs-provider-aliyun.c')
| -rw-r--r-- | src/nm-cloud-setup/nmcs-provider-aliyun.c | 32 |
1 files changed, 14 insertions, 18 deletions
diff --git a/src/nm-cloud-setup/nmcs-provider-aliyun.c b/src/nm-cloud-setup/nmcs-provider-aliyun.c index 01a4af0f..126980fd 100644 --- a/src/nm-cloud-setup/nmcs-provider-aliyun.c +++ b/src/nm-cloud-setup/nmcs-provider-aliyun.c @@ -134,7 +134,6 @@ _get_config_fetch_done_cb(NMHttpClient * http_client, GetConfigFetchDoneType fetch_type) { NMCSProviderGetConfigTaskData *get_config_data; - const char * hwaddr = NULL; gs_unref_bytes GBytes *response = NULL; gs_free_error GError * error = NULL; NMCSProviderGetConfigIfaceData *config_iface_data; @@ -146,7 +145,7 @@ _get_config_fetch_done_cb(NMHttpClient * http_client, gsize i; gsize len; - nm_utils_user_data_unpack(user_data, &get_config_data, &hwaddr); + nm_utils_user_data_unpack(user_data, &get_config_data, &config_iface_data); nm_http_client_poll_get_finish(http_client, result, NULL, &response, &error); @@ -156,8 +155,6 @@ _get_config_fetch_done_cb(NMHttpClient * http_client, if (error) goto out; - config_iface_data = g_hash_table_lookup(get_config_data->result_dict, hwaddr); - switch (fetch_type) { case GET_CONFIG_FETCH_DONE_TYPE_PRIVATE_IPV4S: @@ -300,22 +297,21 @@ _get_config_metadata_ready_cb(GObject *source, GAsyncResult *result, gpointer us gs_free char * uri2 = NULL; gs_free char * uri3 = NULL; gs_free char * uri4 = NULL; - const char * hwaddr; - if (!g_hash_table_lookup_extended(get_config_data->result_dict, - v_hwaddr, - (gpointer *) &hwaddr, - (gpointer *) &config_iface_data)) { + config_iface_data = g_hash_table_lookup(get_config_data->result_dict, v_hwaddr); + + if (!config_iface_data) { if (!get_config_data->any) { _LOGD("get-config: skip fetching meta data for %s (%s)", v_hwaddr, v_mac_data->path); continue; } - config_iface_data = nmcs_provider_get_config_iface_data_new(FALSE); - g_hash_table_insert(get_config_data->result_dict, - (char *) (hwaddr = g_strdup(v_hwaddr)), - config_iface_data); + + config_iface_data = + nmcs_provider_get_config_iface_data_create(get_config_data->result_dict, + FALSE, + v_hwaddr); } nm_assert(config_iface_data->iface_idx == -1); @@ -324,7 +320,7 @@ _get_config_metadata_ready_cb(GObject *source, GAsyncResult *result, gpointer us _LOGD("get-config: start fetching meta data for #%" G_GSSIZE_FORMAT ", %s (%s)", config_iface_data->iface_idx, - hwaddr, + config_iface_data->hwaddr, v_mac_data->path); get_config_data->n_pending++; @@ -342,7 +338,7 @@ _get_config_metadata_ready_cb(GObject *source, GAsyncResult *result, gpointer us NULL, NULL, _get_config_fetch_done_cb_vpc_cidr_block, - nm_utils_user_data_pack(get_config_data, hwaddr)); + nm_utils_user_data_pack(get_config_data, config_iface_data)); get_config_data->n_pending++; nm_http_client_poll_get( @@ -359,7 +355,7 @@ _get_config_metadata_ready_cb(GObject *source, GAsyncResult *result, gpointer us NULL, NULL, _get_config_fetch_done_cb_private_ipv4s, - nm_utils_user_data_pack(get_config_data, hwaddr)); + nm_utils_user_data_pack(get_config_data, config_iface_data)); get_config_data->n_pending++; nm_http_client_poll_get( @@ -376,7 +372,7 @@ _get_config_metadata_ready_cb(GObject *source, GAsyncResult *result, gpointer us NULL, NULL, _get_config_fetch_done_cb_netmask, - nm_utils_user_data_pack(get_config_data, hwaddr)); + nm_utils_user_data_pack(get_config_data, config_iface_data)); get_config_data->n_pending++; nm_http_client_poll_get( @@ -393,7 +389,7 @@ _get_config_metadata_ready_cb(GObject *source, GAsyncResult *result, gpointer us NULL, NULL, _get_config_fetch_done_cb_gateway, - nm_utils_user_data_pack(get_config_data, hwaddr)); + nm_utils_user_data_pack(get_config_data, config_iface_data)); } _nmcs_provider_get_config_task_maybe_return(get_config_data, NULL); |