#include "kds_s2000w_client.h"
#include "kds_s2000w_debug.h"
+#define MAX_STR_BUFFER_LENGTH 80
#define X_STATUS_HEADER "x-status"
+#define SESSION_PATH "/api/session"
+#define STATUS_PATH "/api/session/status"
+#define STARTSCAN_PATH "/api/session/startscan"
+#define STOPSCAN_PATH "/api/session/stopscan"
+#define IMAGE_PATH "api/session/image"
+#define CAPABILITIES_PATH "/api/scanner/capabilities?V2"
+#define CONFIGURATION_PATH "/api/session/configuration"
CURL* curl = NULL;
resp->size = *size;
}
+void _kds_s2000w_client_print_error_result(CURLcode result)
+{
+ if (result == CURLE_OK)
+ return;
+
+ fprintf(stderr, "ERROR: curl_easy_perform: %s\n", curl_easy_strerror(result));
+}
+
response* kds_s2000w_client_response_init()
{
debug_printf(ALL, "kds_s2000w_client_response_init");
{
debug_printf(ALL, "kds_s2000w_client_init");
+ _kds_s2000w_client_load_config();
curl = curl_easy_init();
}
{
debug_printf(ALL, "kds_s2000w_client_open_session");
- _kds_s2000w_client_load_config();
curl_easy_reset(curl);
- char* url = NULL;
- char body[50] = {0};
+ curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
+ curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);
+ char* url = NULL;
CURLU* url_handler = curl_url();
- CURLcode result = curl_url_set(url_handler, CURLUPART_URL, p_config.scanner_url, 0);
- curl_url_set(url_handler, CURLUPART_PATH, "/api/session", 0);
+ curl_url_set(url_handler, CURLUPART_URL, p_config.scanner_url, 0);
+ curl_url_set(url_handler, CURLUPART_PATH, SESSION_PATH, 0);
curl_url_get(url_handler, CURLUPART_URL, &url, 0);
- sprintf(body, "{\"OCPUserName\": \"%s\"}", p_config.username);
-
curl_easy_setopt(curl, CURLOPT_URL, url);
- curl_easy_setopt(curl, CURLOPT_POST, 1L);
- curl_easy_setopt(curl, CURLOPT_POSTFIELDS, body);
+
char* buffer = malloc(sizeof(char));
size_t* sizeloc = malloc(sizeof(size_t));
FILE* stream = open_memstream(&buffer, sizeloc);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, stream);
+
+ char* body = malloc(sizeof(char) * MAX_STR_BUFFER_LENGTH);
+ memset(body, 0, MAX_STR_BUFFER_LENGTH);
+ sprintf(body, "{\"OCPUserName\": \"%s\"}", p_config.username);
+ curl_easy_setopt(curl, CURLOPT_POST, 1L);
+ curl_easy_setopt(curl, CURLOPT_POSTFIELDS, body);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);
- result = curl_easy_perform(curl);
+
+ CURLcode result = curl_easy_perform(curl);
curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response->code);
- _kds_s2000w_client_read_error_status(curl, response);
- if (result != CURLE_OK)
- fprintf(stderr, "ERROR: curl_easy_perform: %s\n", curl_easy_strerror(result));
+ _kds_s2000w_client_read_error_status(curl, response);
+ _kds_s2000w_client_print_error_result(result);
fflush(stream);
_kds_s2000w_client_stream_to_response(stream, response, sizeloc);
curl_url_cleanup(url_handler);
url_handler = NULL;
+ free(body);
+ body = NULL;
curl_free(url);
url = NULL;
free(buffer);
{
debug_printf(ALL, "kds_s2000w_client_close_session");
- struct curl_slist* headers = NULL;
- char header_str[80];
-
curl_easy_reset(curl);
+ char* url = NULL;
CURLU* url_handler = curl_url();
curl_url_set(url_handler, CURLUPART_URL, p_config.scanner_url, 0);
- curl_url_set(url_handler, CURLUPART_PATH, "/api/session", 0);
- char* url = NULL;
+ curl_url_set(url_handler, CURLUPART_PATH, SESSION_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);
+ memset(header_str, 0, MAX_STR_BUFFER_LENGTH);
sprintf(header_str, "SessionId: %li", sessionid);
headers = curl_slist_append(headers, header_str);
- curl_easy_setopt(curl, CURLOPT_URL, url);
- curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
+
+ curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);
+
CURLcode result = curl_easy_perform(curl);
- if (result != CURLE_OK)
- fprintf(stderr, "ERROR: curl_easy_perform: %s\n", curl_easy_strerror(result));
+ _kds_s2000w_client_print_error_result(result);
curl_url_cleanup(url_handler);
url_handler = NULL;
url = NULL;
curl_slist_free_all(headers);
headers = NULL;
+ free(header_str);
+ header_str = NULL;
}
int kds_s2000w_client_status_session(int64_t sessionid, response* response)
join_thread();
wait_seconds(&p_config.heartbeat);
- struct curl_slist* headers = NULL;
- char header_str[80];
-
curl_easy_reset(curl);
+ char* url = NULL;
CURLU* url_handler = curl_url();
curl_url_set(url_handler, CURLUPART_URL, p_config.scanner_url, 0);
- curl_url_set(url_handler, CURLUPART_PATH, "/api/session/status", 0);
- char* url = NULL;
+ curl_url_set(url_handler, CURLUPART_PATH, STATUS_PATH, 0);
curl_url_get(url_handler, CURLUPART_URL, &url, 0);
+ curl_easy_setopt(curl, CURLOPT_URL, url);
+ char* header_str = malloc(sizeof(char) * MAX_STR_BUFFER_LENGTH);
+ memset(header_str, 0, MAX_STR_BUFFER_LENGTH);
+ struct curl_slist* headers = NULL;
sprintf(header_str, "SessionId: %li", sessionid);
headers = curl_slist_append(headers, header_str);
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
- curl_easy_setopt(curl, CURLOPT_URL, url);
- curl_easy_setopt(curl, CURLOPT_HTTPGET, 1L);
+
char* buffer = malloc(sizeof(char));
size_t* sizeloc = malloc(sizeof(size_t));
FILE* stream = open_memstream(&buffer, sizeloc);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, stream);
+
+ curl_easy_setopt(curl, CURLOPT_HTTPGET, 1L);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);
+
CURLcode result = curl_easy_perform(curl);
curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response->code);
- _kds_s2000w_client_read_error_status(curl, response);
- if (result != CURLE_OK)
- fprintf(stderr, "ERROR: curl_easy_perform: %s\n", curl_easy_strerror(result));
+ _kds_s2000w_client_read_error_status(curl, response);
+ _kds_s2000w_client_print_error_result(result);
fflush(stream);
_kds_s2000w_client_stream_to_response(stream, response, sizeloc);
buffer = NULL;
free(sizeloc);
sizeloc = NULL;
+ free(header_str);
+ header_str = NULL;
return result;
}
{
debug_printf(ALL, "kds_s2000w_client_start_scan");
- char* url = NULL;
- struct curl_slist* headers = NULL;
- char header_str[80];
-
curl_easy_reset(curl);
+ char* url = NULL;
CURLU* url_handler = curl_url();
curl_url_set(url_handler, CURLUPART_URL, p_config.scanner_url, 0);
- curl_url_set(url_handler, CURLUPART_PATH, "/api/session/startscan", 0);
+ curl_url_set(url_handler, CURLUPART_PATH, STARTSCAN_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);
+ memset(header_str, 0, MAX_STR_BUFFER_LENGTH);
sprintf(header_str, "SessionId: %li", sessionid);
headers = curl_slist_append(headers, header_str);
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
- curl_easy_setopt(curl, CURLOPT_URL, url);
- curl_easy_setopt(curl, CURLOPT_POST, 1L);
- curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, 0L);
+
char* buffer = malloc(sizeof(char));
size_t* sizeloc = malloc(sizeof(size_t));
FILE* stream = open_memstream(&buffer, sizeloc);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, stream);
+
+ curl_easy_setopt(curl, CURLOPT_POST, 1L);
+ curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, 0L);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);
+
CURLcode result = curl_easy_perform(curl);
curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response->code);
- _kds_s2000w_client_read_error_status(curl, response);
- if (result != CURLE_OK)
- fprintf(stderr, "ERROR: curl_easy_perform: %s\n", curl_easy_strerror(result));
+ _kds_s2000w_client_read_error_status(curl, response);
+ _kds_s2000w_client_print_error_result(result);
fflush(stream);
_kds_s2000w_client_stream_to_response(stream, response, sizeloc);
buffer = NULL;
free(sizeloc);
sizeloc = NULL;
+ free(header_str);
+ header_str = NULL;
return result;
}
{
debug_printf(ALL, "kds_s2000w_client_stop_scan");
- struct curl_slist* headers = NULL;
- char header_str[80];
-
curl_easy_reset(curl);
+ char* url = NULL;
CURLU* url_handler = curl_url();
curl_url_set(url_handler, CURLUPART_URL, p_config.scanner_url, 0);
- curl_url_set(url_handler, CURLUPART_PATH, "/api/session/stopscan", 0);
- char* url = NULL;
+ curl_url_set(url_handler, CURLUPART_PATH, STOPSCAN_PATH, 0);
curl_url_get(url_handler, CURLUPART_URL, &url, 0);
+ curl_easy_setopt(curl, CURLOPT_URL, url);
+ char* header_str = malloc(sizeof(char) * MAX_STR_BUFFER_LENGTH);
+ memset(header_str, 0, MAX_STR_BUFFER_LENGTH);
+ struct curl_slist* headers = NULL;
sprintf(header_str, "SessionId: %li", sessionid);
headers = curl_slist_append(headers, header_str);
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
- curl_easy_setopt(curl, CURLOPT_URL, url);
- curl_easy_setopt(curl, CURLOPT_POST, 1L);
- curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, 0L);
+
char* buffer = malloc(sizeof(char));
size_t* sizeloc = malloc(sizeof(size_t));
FILE* stream = open_memstream(&buffer, sizeloc);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, stream);
+
+ curl_easy_setopt(curl, CURLOPT_POST, 1L);
+ curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, 0L);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);
+
CURLcode result = curl_easy_perform(curl);
curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response->code);
- _kds_s2000w_client_read_error_status(curl, response);
- if (result != CURLE_OK)
- fprintf(stderr, "ERROR: curl_easy_perform: %s\n", curl_easy_strerror(result));
+ _kds_s2000w_client_read_error_status(curl, response);
+ _kds_s2000w_client_print_error_result(result);
fflush(stream);
_kds_s2000w_client_stream_to_response(stream, response, sizeloc);
buffer = NULL;
free(sizeloc);
sizeloc = NULL;
+ free(header_str);
+ header_str = NULL;
return result;
}
{
debug_printf(ALL, "kds_s2000w_client_get_image");
- struct curl_slist* headers = NULL;
- char* url = NULL;
- char url_path[30];
- char header_str[80];
-
curl_easy_reset(curl);
+ char* url = NULL;
CURLU* url_handler = curl_url();
- sprintf(url_path, "api/session/image/%i", img_number);
+ char* url_path = malloc(sizeof(char) * MAX_STR_BUFFER_LENGTH);
+ memset(url_path, 0, MAX_STR_BUFFER_LENGTH);
+ sprintf(url_path, "%s/%i", IMAGE_PATH, img_number);
curl_url_set(url_handler, CURLUPART_URL, p_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);
+ memset(header_str, 0, MAX_STR_BUFFER_LENGTH);
sprintf(header_str, "SessionId: %li", sessionid);
headers = curl_slist_append(headers, header_str);
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
- curl_easy_setopt(curl, CURLOPT_URL, url);
- curl_easy_setopt(curl, CURLOPT_HTTPGET, 1L);
+
char* buffer = malloc(sizeof(char));
size_t* sizeloc = malloc(sizeof(size_t));
FILE* stream = open_memstream(&buffer, sizeloc);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, stream);
+
+ curl_easy_setopt(curl, CURLOPT_HTTPGET, 1L);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);
+
CURLcode result = curl_easy_perform(curl);
curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response->code);
- _kds_s2000w_client_read_error_status(curl, response);
- if (result != CURLE_OK)
- fprintf(stderr, "ERROR: curl_easy_perform: %s\n", curl_easy_strerror(result));
+ _kds_s2000w_client_read_error_status(curl, response);
+ _kds_s2000w_client_print_error_result(result);
fflush(stream);
_kds_s2000w_client_stream_to_response(stream, response, sizeloc);
buffer = NULL;
free(sizeloc);
sizeloc = NULL;
+ free(url_path);
+ url_path = NULL;
+ free(header_str);
+ header_str = NULL;
return result;
}
{
debug_printf(ALL, "kds_s2000w_client_delete_image");
- char* url = NULL;
struct curl_slist* headers = NULL;
- char url_path[30];
- char header_str[80];
curl_easy_reset(curl);
+ char* url = NULL;
CURLU* url_handler = curl_url();
- sprintf(url_path, "api/session/image/%i", img_number);
+ char* url_path = malloc(sizeof(char) * MAX_STR_BUFFER_LENGTH);
+ memset(url_path, 0, MAX_STR_BUFFER_LENGTH);
+ sprintf(url_path, "%s/%i", IMAGE_PATH, img_number);
curl_url_set(url_handler, CURLUPART_URL, p_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);
+ char* header_str = malloc(sizeof(char) * MAX_STR_BUFFER_LENGTH);
+ memset(header_str, 0, MAX_STR_BUFFER_LENGTH);
sprintf(header_str, "SessionId: %li", sessionid);
headers = curl_slist_append(headers, header_str);
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
- curl_easy_setopt(curl, CURLOPT_URL, url);
- curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "DELETE");
+
char* buffer = malloc(sizeof(char));
size_t* sizeloc = malloc(sizeof(size_t));
FILE* stream = open_memstream(&buffer, sizeloc);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, stream);
+
+ curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);
+
CURLcode result = curl_easy_perform(curl);
curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response->code);
- _kds_s2000w_client_read_error_status(curl, response);
- if (result != CURLE_OK)
- fprintf(stderr, "ERROR: curl_easy_perform: %s\n", curl_easy_strerror(result));
+ _kds_s2000w_client_read_error_status(curl, response);
+ _kds_s2000w_client_print_error_result(result);
fflush(stream);
_kds_s2000w_client_stream_to_response(stream, response, sizeloc);
buffer = NULL;
free(sizeloc);
sizeloc = NULL;
+ free(header_str);
+ header_str = NULL;
return result;
}
{
debug_printf(ALL, "kds_s2000w_client_get_capabilities");
- char* url = NULL;
-
curl_easy_reset(curl);
+ char* url = NULL;
CURLU* url_handler = curl_url();
curl_url_set(url_handler, CURLUPART_URL, p_config.scanner_url, 0);
- curl_url_set(url_handler, CURLUPART_PATH, "/api/scanner/capabilities?V2", 0);
+ curl_url_set(url_handler, CURLUPART_PATH, CAPABILITIES_PATH, 0);
curl_url_get(url_handler, CURLUPART_URL, &url, 0);
-
curl_easy_setopt(curl, CURLOPT_URL, url);
- curl_easy_setopt(curl, CURLOPT_HTTPGET, 1L);
+
char* buffer = malloc(sizeof(char));
size_t* sizeloc = malloc(sizeof(size_t));
FILE* stream = open_memstream(&buffer, sizeloc);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, stream);
+
+ curl_easy_setopt(curl, CURLOPT_HTTPGET, 1L);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);
+
CURLcode result = curl_easy_perform(curl);
curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response->code);
- _kds_s2000w_client_read_error_status(curl, response);
- if (result != CURLE_OK)
- fprintf(stderr, "ERROR: curl_easy_perform: %s\n", curl_easy_strerror(result));
+ _kds_s2000w_client_read_error_status(curl, response);
+ _kds_s2000w_client_print_error_result(result);
fflush(stream);
_kds_s2000w_client_stream_to_response(stream, response, sizeloc);
{
debug_printf(ALL, "kds_s2000w_client_get_option");
- struct curl_slist* headers = NULL;
- char header_str[80];
-
curl_easy_reset(curl);
+ char* url = NULL;
CURLU* url_handler = curl_url();
curl_url_set(url_handler, CURLUPART_URL, p_config.scanner_url, 0);
- curl_url_set(url_handler, CURLUPART_PATH, "/api/session/configuration", 0);
- char* url = NULL;
+ curl_url_set(url_handler, CURLUPART_PATH, CONFIGURATION_PATH, 0);
curl_url_get(url_handler, CURLUPART_URL, &url, 0);
+ curl_easy_setopt(curl, CURLOPT_URL, url);
+ char* header_str = malloc(sizeof(char) * MAX_STR_BUFFER_LENGTH);
+ memset(header_str, 0, MAX_STR_BUFFER_LENGTH);
+ struct curl_slist* headers = NULL;
sprintf(header_str, "SessionId: %li", sessionid);
headers = curl_slist_append(headers, header_str);
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
- curl_easy_setopt(curl, CURLOPT_URL, url);
- curl_easy_setopt(curl, CURLOPT_HTTPGET, 1L);
+
char* buffer = malloc(sizeof(char));
size_t* sizeloc = malloc(sizeof(size_t));
FILE* stream = open_memstream(&buffer, sizeloc);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, stream);
+
+ curl_easy_setopt(curl, CURLOPT_HTTPGET, 1L);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);
+
CURLcode result = curl_easy_perform(curl);
curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response->code);
- _kds_s2000w_client_read_error_status(curl, response);
- if (result != CURLE_OK)
- fprintf(stderr, "ERROR: curl_easy_perform: %s\n", curl_easy_strerror(result));
+ _kds_s2000w_client_read_error_status(curl, response);
+ _kds_s2000w_client_print_error_result(result);
fflush(stream);
_kds_s2000w_client_stream_to_response(stream, response, sizeloc);
buffer = NULL;
free(sizeloc);
sizeloc = NULL;
+ free(header_str);
+ header_str = NULL;
return result;
}
{
debug_printf(ALL, "kds_s2000w_client_set_option");
- char* url = NULL;
- struct curl_slist* headers = NULL;
- char header_str[80];
-
curl_easy_reset(curl);
+ char* url = NULL;
CURLU* url_handler = curl_url();
curl_url_set(url_handler, CURLUPART_URL, p_config.scanner_url, 0);
- curl_url_set(url_handler, CURLUPART_PATH, "/api/session/configuration", 0);
+ curl_url_set(url_handler, CURLUPART_PATH, CONFIGURATION_PATH, 0);
curl_url_get(url_handler, CURLUPART_URL, &url, 0);
+ curl_easy_setopt(curl, CURLOPT_URL, url);
+ char* header_str = malloc(sizeof(char) * MAX_STR_BUFFER_LENGTH);
+ memset(header_str, 0, MAX_STR_BUFFER_LENGTH);
+ struct curl_slist* headers = NULL;
sprintf(header_str, "SessionId: %li", sessionid);
headers = curl_slist_append(headers, header_str);
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
- curl_easy_setopt(curl, CURLOPT_URL, url);
- curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "PUT");
+
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, response->data);
curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, response->size);
+ curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "PUT");
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);
+
CURLcode result = curl_easy_perform(curl);
curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response->code);
- _kds_s2000w_client_read_error_status(curl, response);
- if (result != CURLE_OK)
- fprintf(stderr, "ERROR: curl_easy_perform: %s\n", curl_easy_strerror(result));
+ _kds_s2000w_client_read_error_status(curl, response);
+ _kds_s2000w_client_print_error_result(result);
curl_url_cleanup(url_handler);
url_handler = NULL;
curl_free(url);
url = NULL;
+ free(header_str);
+ header_str = NULL;
return result;
}
\ No newline at end of file