From 1b5cb60d2886b67ad1165f2b372ea0edec68cdbc Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Thu, 25 Jan 2024 18:44:21 +0100 Subject: [PATCH] init session wake up scanner --- src/kds_s2000w_client.c | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/src/kds_s2000w_client.c b/src/kds_s2000w_client.c index 4d268a1..93d7a76 100644 --- a/src/kds_s2000w_client.c +++ b/src/kds_s2000w_client.c @@ -4,18 +4,6 @@ #include #include "kds_s2000w_client.h" -int _wait = 0; - -void _kds_s2000w_client_wait_for_response() -{ - for (int i = 0; i < 10; i++) { - if (!_wait) - break; - - sleep(1); - } -} - size_t _kds_s2000w_client_callback(char *ptr, size_t size, size_t nmemb, void *userdata) { response* data = (response*) userdata; @@ -28,7 +16,6 @@ size_t _kds_s2000w_client_callback(char *ptr, size_t size, size_t nmemb, void *u memcpy(data->data, ptr, fullsize); data->size = fullsize + 1; - _wait = 0; return fullsize; } @@ -71,11 +58,15 @@ int kds_s2000w_client_open_session(const char* username, response* response) curl_easy_setopt(curl, CURLOPT_POSTFIELDS, body); curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, _kds_s2000w_client_callback); curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void*) response); - _wait = 1; CURLcode result = curl_easy_perform(curl); - _kds_s2000w_client_wait_for_response(); curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response->code); + if (response->code == 408) { + sleep(1); + CURLcode result = curl_easy_perform(curl); + curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response->code); + } + curl_url_cleanup(url_handler); url_handler = NULL; curl_free(url); -- 2.39.5