{
kds_s2000w_debug_printf(ALL, "kds_s2000w_client_delete_image");
- CURL* curl = curl_easy_init();
- char* url = NULL;
- CURLU* url_handler = curl_url();
- char* url_path = malloc(sizeof(char) * MAX_STR_BUFFER_LENGTH);
- if (url_path == NULL) {
- curl_url_cleanup(url_handler);
- url_handler = NULL;
- return 1;
- }
-
- memset(url_path, 0, MAX_STR_BUFFER_LENGTH);
- sprintf(url_path, "%s/%i", IMAGE_PATH, img_number);
- curl_url_set(url_handler, CURLUPART_URL, client_config->scanner_url, 0);
- curl_url_set(url_handler, CURLUPART_PATH, url_path, 0);
- curl_url_get(url_handler, CURLUPART_URL, &url, 0);
- curl_easy_setopt(curl, CURLOPT_URL, url);
-
- struct curl_slist* headers = NULL;
- char* header_str = malloc(sizeof(char) * MAX_STR_BUFFER_LENGTH);
- if (header_str == NULL) {
- curl_url_cleanup(url_handler);
- url_handler = NULL;
- free(url_path);
- url_path = NULL;
- curl_free(url);
- url = NULL;
- return 1;
- }
-
- memset(header_str, 0, MAX_STR_BUFFER_LENGTH);
- sprintf(header_str, "SessionId: %li", sessionid);
- headers = curl_slist_append(headers, header_str);
- headers = curl_slist_append(headers, CONTENT_TYPE_HEADER);
- headers = curl_slist_append(headers, ACCEPT_JSON_HEADER);
- curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
-
- curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, HTTP_DELETE);
- _kds_s2000w_client_set_ssl_verification_off(curl);
+ curl_param_t* param = _kds_s2000w_client_param_init(sessionid);
+ if (param == NULL)
+ return CURLE_OUT_OF_MEMORY;
- char* errbuf = _kds_s2000w_client_errbuf_init();
- curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, errbuf);
- _kds_s2000w_client_set_verbose(curl);
- CURLcode result = curl_easy_perform(curl);
+ char* url_path = _kds_s2000w_client_append_image_number_to_str(img_number, IMAGE_PATH);
+ curl_url_set(param->url_handler, CURLUPART_URL, client_config->scanner_url, 0);
+ curl_url_set(param->url_handler, CURLUPART_PATH, url_path, 0);
+ curl_url_get(param->url_handler, CURLUPART_URL, ¶m->url, 0);
+ curl_easy_setopt(param->curl, CURLOPT_URL, param->url);
+ curl_easy_setopt(param->curl, CURLOPT_CUSTOMREQUEST, HTTP_DELETE);
+ CURLcode result = curl_easy_perform(param->curl);
- _kds_s2000w_client_print_error_status(curl);
- _kds_s2000w_client_print_error_result(result, errbuf);
+ _kds_s2000w_client_print_error_status(param->curl);
+ _kds_s2000w_client_print_error_result(result, param->errbuf);
- curl_url_cleanup(url_handler);
- url_handler = NULL;
+ _kds_s2000w_client_param_free(param);
+ param = NULL;
free(url_path);
url_path = NULL;
- curl_slist_free_all(headers);
- headers = NULL;
- curl_free(url);
- url = NULL;
- curl_easy_cleanup(curl);
- curl = NULL;
- free(header_str);
- header_str = NULL;
- free(errbuf);
- errbuf = NULL;
return result;
}