From 7236db26eb79f92f0cbab5e84847c87c02872cdc Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Wed, 6 Mar 2024 21:18:39 +0100 Subject: [PATCH] change client all variable first in method --- src/kds_s2000w_client.c | 176 +++++++++++++++++++++++++--------------- 1 file changed, 112 insertions(+), 64 deletions(-) diff --git a/src/kds_s2000w_client.c b/src/kds_s2000w_client.c index 00ef60e..d8b74d2 100644 --- a/src/kds_s2000w_client.c +++ b/src/kds_s2000w_client.c @@ -17,10 +17,13 @@ void _kds_s2000w_client_load_config() size_t _kds_s2000w_client_callback(char *ptr, size_t size, size_t nmemb, void *userdata) { debug_printf(ALL, "kds_s2000w_client_callback"); - response* data = (response*) userdata; + response* data = NULL; + char* new_data_ptr = NULL; + size_t fullsize = 0; - size_t fullsize = size * nmemb; - char* new_data_ptr = realloc(data->data, data->size + fullsize + sizeof(char)); + data = (response*) userdata; + fullsize = size * nmemb; + new_data_ptr = realloc(data->data, data->size + fullsize + sizeof(char)); if (!data->data) return 0; @@ -37,7 +40,8 @@ response* kds_s2000w_client_response_init() { debug_printf(ALL, "kds_s2000w_client_response_init"); - response* resp = malloc(sizeof(response)); + response* resp = NULL; + resp = malloc(sizeof(response)); resp->data = malloc(sizeof(char)); resp->size = 0; resp->code = 0L; @@ -62,17 +66,20 @@ int kds_s2000w_client_open_session(response* response) debug_printf(ALL, "kds_s2000w_client_open_session"); _kds_s2000w_client_load_config(); - CURL *curl = curl_easy_init(); + CURL* curl = NULL; + CURLU* url_handler = NULL; + char* url = NULL; + CURLcode result = 0; + char body[50] = {0}; + + curl = curl_easy_init(); if(!curl) return CURLE_FAILED_INIT; - CURLU* url_handler = curl_url(); + 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_get(url_handler, CURLUPART_URL, &url, 0); - - char body[50] = {0}; sprintf(body, "{\"OCPUserName\": \"%s\"}", p_config.username); curl_easy_setopt(curl, CURLOPT_URL, url); @@ -82,7 +89,7 @@ int kds_s2000w_client_open_session(response* response) curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void*) response); curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L); curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L); - CURLcode result = curl_easy_perform(curl); + result = curl_easy_perform(curl); curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response->code); curl_url_cleanup(url_handler); @@ -98,18 +105,21 @@ int kds_s2000w_client_open_session(response* response) void kds_s2000w_client_close_session(int64_t sessionid) { debug_printf(ALL, "kds_s2000w_client_close_session"); - CURL *curl = curl_easy_init(); + CURL* curl = NULL; + CURLU* url_handler = NULL; + struct curl_slist* headers = NULL; + char header_str[80]; + + curl = curl_easy_init(); if(!curl) return; - CURLU* url_handler = curl_url(); + 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_get(url_handler, CURLUPART_URL, &url, 0); - struct curl_slist* headers = NULL; - char header_str[80]; sprintf(header_str, "SessionId: %li", sessionid); headers = curl_slist_append(headers, header_str); curl_easy_setopt(curl, CURLOPT_URL, url); @@ -132,18 +142,22 @@ void kds_s2000w_client_close_session(int64_t sessionid) int kds_s2000w_client_status_session(int64_t sessionid, response* response) { debug_printf(ALL, "kds_s2000w_client_status_session"); - CURL *curl = curl_easy_init(); + CURL* curl = NULL; + CURLU* url_handler = NULL; + struct curl_slist* headers = NULL; + CURLcode result = 0; + char header_str[80]; + + curl = curl_easy_init(); if(!curl) return CURLE_FAILED_INIT; - CURLU* url_handler = curl_url(); + 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_get(url_handler, CURLUPART_URL, &url, 0); - struct curl_slist* headers = NULL; - char header_str[80]; sprintf(header_str, "SessionId: %li", sessionid); headers = curl_slist_append(headers, header_str); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); @@ -153,7 +167,7 @@ int kds_s2000w_client_status_session(int64_t sessionid, response* response) curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void*) response); curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L); curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L); - CURLcode result = curl_easy_perform(curl); + result = curl_easy_perform(curl); curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response->code); curl_url_cleanup(url_handler); @@ -169,18 +183,23 @@ int kds_s2000w_client_status_session(int64_t sessionid, response* response) int kds_s2000w_client_start_scan(int64_t sessionid, response* response) { debug_printf(ALL, "kds_s2000w_client_start_scan"); - CURL *curl = curl_easy_init(); + CURL* curl = NULL; + CURLU* url_handler = NULL; + char* url = NULL; + struct curl_slist* headers = NULL; + CURLcode result = 0; + char header_str[80]; + + curl = curl_easy_init(); if(!curl) return CURLE_FAILED_INIT; - CURLU* url_handler = curl_url(); + 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); - char* url = NULL; curl_url_get(url_handler, CURLUPART_URL, &url, 0); - struct curl_slist* headers = NULL; - char header_str[80]; + headers = NULL; sprintf(header_str, "SessionId: %li", sessionid); headers = curl_slist_append(headers, header_str); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); @@ -191,7 +210,7 @@ int kds_s2000w_client_start_scan(int64_t sessionid, response* response) curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void*) response); curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L); curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L); - CURLcode result = curl_easy_perform(curl); + result = curl_easy_perform(curl); curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response->code); curl_url_cleanup(url_handler); @@ -207,18 +226,22 @@ int kds_s2000w_client_start_scan(int64_t sessionid, response* response) int kds_s2000w_client_stop_scan(int64_t sessionid, response* response) { debug_printf(ALL, "kds_s2000w_client_stop_scan"); - CURL *curl = curl_easy_init(); + CURL* curl = NULL; + CURLU* url_handler = NULL; + struct curl_slist* headers = NULL; + CURLcode result = 0; + char header_str[80]; + + curl = curl_easy_init(); if(!curl) return CURLE_FAILED_INIT; - CURLU* url_handler = curl_url(); + 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_get(url_handler, CURLUPART_URL, &url, 0); - struct curl_slist* headers = NULL; - char header_str[80]; sprintf(header_str, "SessionId: %li", sessionid); headers = curl_slist_append(headers, header_str); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); @@ -229,7 +252,7 @@ int kds_s2000w_client_stop_scan(int64_t sessionid, response* response) curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void*) response); curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L); curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L); - CURLcode result = curl_easy_perform(curl); + result = curl_easy_perform(curl); curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response->code); curl_url_cleanup(url_handler); @@ -245,11 +268,17 @@ int kds_s2000w_client_stop_scan(int64_t sessionid, response* response) int kds_s2000w_client_get_metadata(int64_t sessionid, int img_number, response* response) { debug_printf(ALL, "kds_s2000w_client_get_metadata"); - CURL *curl = curl_easy_init(); + CURL* curl = NULL; + CURLU* url_handler = NULL; + struct curl_slist* headers = NULL; + char header_str[80]; + CURLcode result = 0; + + curl = curl_easy_init(); if(!curl) return CURLE_FAILED_INIT; - CURLU* url_handler = curl_url(); + url_handler = curl_url(); char url_path[30]; sprintf(url_path, "api/session/metadata/%i", img_number); curl_url_set(url_handler, CURLUPART_URL, p_config.scanner_url, 0); @@ -257,8 +286,7 @@ int kds_s2000w_client_get_metadata(int64_t sessionid, int img_number, response* char* url = NULL; curl_url_get(url_handler, CURLUPART_URL, &url, 0); - struct curl_slist* headers = NULL; - char header_str[80]; + headers = NULL; sprintf(header_str, "SessionId: %li", sessionid); headers = curl_slist_append(headers, header_str); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); @@ -268,7 +296,7 @@ int kds_s2000w_client_get_metadata(int64_t sessionid, int img_number, response* curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void*) response); curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L); curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L); - CURLcode result = curl_easy_perform(curl); + result = curl_easy_perform(curl); curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response->code); curl_url_cleanup(url_handler); @@ -284,20 +312,24 @@ int kds_s2000w_client_get_metadata(int64_t sessionid, int img_number, response* int kds_s2000w_client_get_image(int64_t sessionid, int img_number, response* response) { debug_printf(ALL, "kds_s2000w_client_get_image"); - CURL *curl = curl_easy_init(); + CURL* curl = NULL; + CURLU* url_handler = NULL; + struct curl_slist* headers = NULL; + char* url = NULL; + char url_path[30]; + char header_str[80]; + CURLcode result = 0; + + curl = curl_easy_init(); if(!curl) return CURLE_FAILED_INIT; - CURLU* url_handler = curl_url(); - char url_path[30]; + url_handler = curl_url(); sprintf(url_path, "api/session/image/%i", img_number); curl_url_set(url_handler, CURLUPART_URL, p_config.scanner_url, 0); curl_url_set(url_handler, CURLUPART_PATH, url_path, 0); - char* url = NULL; curl_url_get(url_handler, CURLUPART_URL, &url, 0); - struct curl_slist* headers = NULL; - char header_str[80]; sprintf(header_str, "SessionId: %li", sessionid); headers = curl_slist_append(headers, header_str); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); @@ -307,7 +339,7 @@ int kds_s2000w_client_get_image(int64_t sessionid, int img_number, response* res curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void*) response); curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L); curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L); - CURLcode result = curl_easy_perform(curl); + result = curl_easy_perform(curl); curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response->code); curl_url_cleanup(url_handler); @@ -323,20 +355,24 @@ int kds_s2000w_client_get_image(int64_t sessionid, int img_number, response* res int kds_s2000w_client_delete_image(int64_t sessionid, int img_number, response* response) { debug_printf(ALL, "kds_s2000w_client_delete_image"); - CURL *curl = curl_easy_init(); + CURL* curl = NULL; + CURLU* url_handler = NULL; + char* url = NULL; + struct curl_slist* headers = NULL; + char url_path[30]; + char header_str[80]; + CURLcode result = 0; + + curl = curl_easy_init(); if(!curl) return CURLE_FAILED_INIT; - CURLU* url_handler = curl_url(); - char url_path[30]; + url_handler = curl_url(); sprintf(url_path, "api/session/image/%i", img_number); curl_url_set(url_handler, CURLUPART_URL, p_config.scanner_url, 0); curl_url_set(url_handler, CURLUPART_PATH, url_path, 0); - char* url = NULL; curl_url_get(url_handler, CURLUPART_URL, &url, 0); - struct curl_slist* headers = NULL; - char header_str[80]; sprintf(header_str, "SessionId: %li", sessionid); headers = curl_slist_append(headers, header_str); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); @@ -346,7 +382,7 @@ int kds_s2000w_client_delete_image(int64_t sessionid, int img_number, response* curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void*) response); curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L); curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L); - CURLcode result = curl_easy_perform(curl); + result = curl_easy_perform(curl); curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response->code); curl_url_cleanup(url_handler); @@ -362,14 +398,18 @@ int kds_s2000w_client_delete_image(int64_t sessionid, int img_number, response* int kds_s2000w_client_get_capabilities(response* response) { debug_printf(ALL, "kds_s2000w_client_get_capabilities"); - CURL *curl = curl_easy_init(); + CURL* curl = NULL; + CURLU* url_handler =NULL; + char* url = NULL; + CURLcode result = 0; + + curl = curl_easy_init(); if(!curl) return CURLE_FAILED_INIT; - CURLU* url_handler = curl_url(); + 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); - char* url = NULL; curl_url_get(url_handler, CURLUPART_URL, &url, 0); curl_easy_setopt(curl, CURLOPT_URL, url); @@ -378,7 +418,7 @@ int kds_s2000w_client_get_capabilities(response* response) curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void*) response); curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L); curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L); - CURLcode result = curl_easy_perform(curl); + result = curl_easy_perform(curl); curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response->code); curl_url_cleanup(url_handler); @@ -394,18 +434,22 @@ int kds_s2000w_client_get_capabilities(response* response) int kds_s2000w_client_get_option(int64_t sessionid, response* response) { debug_printf(ALL, "kds_s2000w_client_get_option"); - CURL *curl = curl_easy_init(); + CURL* curl = NULL; + CURLU* url_handler = NULL; + struct curl_slist* headers = NULL; + char header_str[80]; + CURLcode result = 0; + + curl = curl_easy_init(); if(!curl) return CURLE_FAILED_INIT; - CURLU* url_handler = curl_url(); + 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_get(url_handler, CURLUPART_URL, &url, 0); - struct curl_slist* headers = NULL; - char header_str[80]; sprintf(header_str, "SessionId: %li", sessionid); headers = curl_slist_append(headers, header_str); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); @@ -415,7 +459,7 @@ int kds_s2000w_client_get_option(int64_t sessionid, response* response) curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void*) response); curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L); curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L); - CURLcode result = curl_easy_perform(curl); + result = curl_easy_perform(curl); curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response->code); curl_url_cleanup(url_handler); @@ -431,18 +475,22 @@ int kds_s2000w_client_get_option(int64_t sessionid, response* response) int kds_s2000w_client_set_option(int64_t sessionid, response* response) { debug_printf(ALL, "kds_s2000w_client_set_option"); - CURL *curl = curl_easy_init(); + CURL* curl = NULL; + CURLU* url_handler = NULL; + char* url = NULL; + struct curl_slist* headers = NULL; + char header_str[80]; + CURLcode result = 0; + + curl = curl_easy_init(); if(!curl) return CURLE_FAILED_INIT; - CURLU* url_handler = curl_url(); + 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_get(url_handler, CURLUPART_URL, &url, 0); - struct curl_slist* headers = NULL; - char header_str[80]; sprintf(header_str, "SessionId: %li", sessionid); headers = curl_slist_append(headers, header_str); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); @@ -452,7 +500,7 @@ int kds_s2000w_client_set_option(int64_t sessionid, response* response) curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, response->size); curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L); curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L); - CURLcode result = curl_easy_perform(curl); + result = curl_easy_perform(curl); curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response->code); curl_url_cleanup(url_handler); -- 2.39.5