@@ -13234,6 +13234,7 @@ static ds3_error* _parse_top_level_ds3_list_bucket_result_response(const ds3_cli
1323413234 xmlNodePtr child_node;
1323513235 ds3_list_bucket_result_response* response;
1323613236 ds3_error* error = NULL;
13237+ GPtrArray* common_prefixes_array = g_ptr_array_new();
1323713238 GPtrArray* objects_array = g_ptr_array_new();
1323813239
1323913240 error = _get_request_xml_nodes(xml_blob, &doc, &root, "ListBucketResult");
@@ -13246,15 +13247,11 @@ static ds3_error* _parse_top_level_ds3_list_bucket_result_response(const ds3_cli
1324613247 for (child_node = root->xmlChildrenNode; child_node != NULL; child_node = child_node->next) {
1324713248 if (element_equal(child_node, "CommonPrefixes")) {
1324813249 xmlNodePtr loop_node;
13249- GPtrArray* common_prefixes_array = g_ptr_array_new();
1325013250 int num_nodes = 0;
1325113251 for (loop_node = child_node->xmlChildrenNode; loop_node != NULL; loop_node = loop_node->next, num_nodes++) {
1325213252 ds3_str* common_prefixes = xml_get_string(doc, loop_node);
1325313253 g_ptr_array_add(common_prefixes_array, common_prefixes);
1325413254 }
13255- response->common_prefixes = (ds3_str**)common_prefixes_array->pdata;
13256- response->num_common_prefixes = common_prefixes_array->len;
13257- g_ptr_array_free(common_prefixes_array, FALSE);
1325813255 } else if (element_equal(child_node, "CreationDate")) {
1325913256 response->creation_date = xml_get_string(doc, child_node);
1326013257 } else if (element_equal(child_node, "Delimiter")) {
@@ -13286,6 +13283,9 @@ static ds3_error* _parse_top_level_ds3_list_bucket_result_response(const ds3_cli
1328613283
1328713284 }
1328813285
13286+ response->common_prefixes = (ds3_str**)common_prefixes_array->pdata;
13287+ response->num_common_prefixes = common_prefixes_array->len;
13288+ g_ptr_array_free(common_prefixes_array, FALSE);
1328913289 response->objects = (ds3_contents_response**)objects_array->pdata;
1329013290 response->num_objects = objects_array->len;
1329113291 g_ptr_array_free(objects_array, FALSE);
@@ -13306,6 +13306,7 @@ static ds3_error* _parse_top_level_ds3_list_multi_part_uploads_result_response(c
1330613306 xmlNodePtr child_node;
1330713307 ds3_list_multi_part_uploads_result_response* response;
1330813308 ds3_error* error = NULL;
13309+ GPtrArray* common_prefixes_array = g_ptr_array_new();
1330913310 GPtrArray* uploads_array = g_ptr_array_new();
1331013311
1331113312 error = _get_request_xml_nodes(xml_blob, &doc, &root, "ListMultipartUploadsResult");
@@ -13320,15 +13321,11 @@ static ds3_error* _parse_top_level_ds3_list_multi_part_uploads_result_response(c
1332013321 response->bucket = xml_get_string(doc, child_node);
1332113322 } else if (element_equal(child_node, "CommonPrefixes")) {
1332213323 xmlNodePtr loop_node;
13323- GPtrArray* common_prefixes_array = g_ptr_array_new();
1332413324 int num_nodes = 0;
1332513325 for (loop_node = child_node->xmlChildrenNode; loop_node != NULL; loop_node = loop_node->next, num_nodes++) {
1332613326 ds3_str* common_prefixes = xml_get_string(doc, loop_node);
1332713327 g_ptr_array_add(common_prefixes_array, common_prefixes);
1332813328 }
13329- response->common_prefixes = (ds3_str**)common_prefixes_array->pdata;
13330- response->num_common_prefixes = common_prefixes_array->len;
13331- g_ptr_array_free(common_prefixes_array, FALSE);
1333213329 } else if (element_equal(child_node, "Delimiter")) {
1333313330 response->delimiter = xml_get_string(doc, child_node);
1333413331 } else if (element_equal(child_node, "KeyMarker")) {
@@ -13360,6 +13357,9 @@ static ds3_error* _parse_top_level_ds3_list_multi_part_uploads_result_response(c
1336013357
1336113358 }
1336213359
13360+ response->common_prefixes = (ds3_str**)common_prefixes_array->pdata;
13361+ response->num_common_prefixes = common_prefixes_array->len;
13362+ g_ptr_array_free(common_prefixes_array, FALSE);
1336313363 response->uploads = (ds3_multi_part_upload_response**)uploads_array->pdata;
1336413364 response->num_uploads = uploads_array->len;
1336513365 g_ptr_array_free(uploads_array, FALSE);
0 commit comments