Skip to content

Commit 3883d31

Browse files
author
DenverM80
committed
fix regression wrt ds3_convert_object_list_from_strings
1 parent ae764ff commit 3883d31

File tree

3 files changed

+46
-12
lines changed

3 files changed

+46
-12
lines changed

src/ds3.c

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -359,10 +359,46 @@ ds3_bulk_object_list_response* ds3_convert_object_list(const ds3_contents_respon
359359
return obj_list;
360360
}
361361

362+
ds3_bulk_object_list_response* ds3_convert_object_list_from_strings(const char** objects, uint64_t num_objects) {
363+
size_t object_index;
364+
ds3_bulk_object_list_response* obj_list = ds3_init_bulk_object_list();
365+
366+
GPtrArray* ds3_bulk_object_response_array = g_ptr_array_new();
367+
368+
for (object_index = 0; object_index < num_objects; object_index++) {
369+
ds3_bulk_object_response* response = g_new0(ds3_bulk_object_response, 1);
370+
response->name = ds3_str_init(objects[object_index]);
371+
g_ptr_array_add(ds3_bulk_object_response_array, response);
372+
}
373+
374+
obj_list->objects = (ds3_bulk_object_response**)ds3_bulk_object_response_array->pdata;
375+
obj_list->num_objects = ds3_bulk_object_response_array->len;
376+
g_ptr_array_free(ds3_bulk_object_response_array, FALSE);
377+
378+
return obj_list;
379+
}
380+
362381
ds3_bulk_object_list_response* ds3_init_bulk_object_list() {
363382
return g_new0(ds3_bulk_object_list_response, 1);
364383
}
365384

385+
ds3_bulk_object_list_response* ds3_init_bulk_object_list_with_size(size_t num_objects) {
386+
size_t object_index;
387+
ds3_bulk_object_list_response* obj_list = ds3_init_bulk_object_list();
388+
389+
GPtrArray* ds3_bulk_object_response_array = g_ptr_array_new();
390+
391+
for (object_index = 0; object_index < num_objects; object_index++) {
392+
ds3_bulk_object_response* response = g_new0(ds3_bulk_object_response, 1);
393+
g_ptr_array_add(ds3_bulk_object_response_array, response);
394+
}
395+
396+
obj_list->objects = (ds3_bulk_object_response**)ds3_bulk_object_response_array->pdata;
397+
obj_list->num_objects = ds3_bulk_object_response_array->len;
398+
g_ptr_array_free(ds3_bulk_object_response_array, FALSE);
399+
400+
return obj_list;
401+
}
366402
void ds3_multipart_upload_part_response_free(ds3_multipart_upload_part_response* response) {
367403
if (response == NULL) {
368404
return;

src/ds3.h

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4998,8 +4998,17 @@ LIBRARY_API size_t ds3_read_from_fd(void* buffer, size_t size, size_t nmemb, voi
49984998
LIBRARY_API ds3_bulk_object_list_response* ds3_convert_file_list(const char** file_list, uint64_t num_files);
49994999
LIBRARY_API ds3_bulk_object_list_response* ds3_convert_file_list_with_basepath(const char** file_list, uint64_t num_files, const char* base_path);
50005000
LIBRARY_API ds3_bulk_object_list_response* ds3_convert_object_list(const ds3_contents_response** objects, uint64_t num_objects);
5001+
LIBRARY_API ds3_bulk_object_list_response* ds3_convert_object_list_from_strings(const char** objects, uint64_t num_objects);
5002+
/*
5003+
* Init a single ds3_bulk_object_list_response object containing no ds3_bulk_object_response objects
5004+
*/
50015005
LIBRARY_API ds3_bulk_object_list_response* ds3_init_bulk_object_list();
5002-
5006+
/*
5007+
* Init a single ds3_bulk_object_list_response object containing num_objects ds3_bulk_object_response objects.
5008+
* each ds3_bulk_object_response object will need its properties (name, bucket, etc) to be set with ds3_str_init("name"),
5009+
* and physical_placement will be null.
5010+
*/
5011+
LIBRARY_API ds3_bulk_object_list_response* ds3_init_bulk_object_list_with_size(size_t num_objects);
50035012

50045013
#ifdef __cplusplus
50055014
}

src/ds3_requests.c

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -407,17 +407,6 @@ static ds3_error* _get_request_xml_nodes(
407407
return NULL;
408408
}
409409

410-
static char* _get_ds3_job_chunk_client_processing_order_guarantee_str(ds3_job_chunk_client_processing_order_guarantee input) {
411-
if (input == DS3_JOB_CHUNK_CLIENT_PROCESSING_ORDER_GUARANTEE_NONE) {
412-
return "NONE";
413-
} else if (input == DS3_JOB_CHUNK_CLIENT_PROCESSING_ORDER_GUARANTEE_IN_ORDER) {
414-
return "IN_ORDER";
415-
} else {
416-
return "";
417-
}
418-
419-
}
420-
421410
static xmlDocPtr _generate_xml_bulk_objects_list(const ds3_bulk_object_list_response* obj_list, object_list_type list_type, ds3_job_chunk_client_processing_order_guarantee order) {
422411
char size_buff[UNSIGNED_LONG_LONG_BASE_10_STR_LEN];
423412
xmlDocPtr doc;

0 commit comments

Comments
 (0)