]> gitweb.hhaalo.de Git - sane-kds-s2000w-net.git/commitdiff
change curl global init with mem
authorBastian Dehn <hhaalo@arcor.de>
Sun, 2 Feb 2025 15:33:54 +0000 (16:33 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Sun, 2 Feb 2025 16:18:29 +0000 (17:18 +0100)
src/kds_s2000w_client.c

index a56902d85bc3b439f1fa55f2fb9294a2177c642c..799b7409d91e3e69637adbe861af4e51101f4a4a 100644 (file)
@@ -26,6 +26,31 @@ CURL* curl = NULL;
 program_config* config = NULL;
 char* errbuf = NULL;
 
+void *_kds_s2000w_client_malloc_cb(size_t size)
+{
+       return malloc(size);
+}
+void _kds_s2000w_client_free_cb(void * ptr)
+{
+       free(ptr);
+}
+void *_kds_s2000w_client_realloc_cb(void * ptr, size_t size)
+{
+       return realloc(ptr, size);
+}
+char *_kds_s2000w_client_strdup_cb(const char * str)
+{
+       if (strlen(str) == 0) {
+               return '\0';
+       }
+
+       return strdup(str);
+}
+void *_kds_s2000w_client_calloc_cb(size_t nmemb, size_t size)
+{
+       return calloc(nmemb, size);
+}
+
 void _kds_s2000w_client_print_error_status(CURL* curl)
 {
        struct curl_header* header = NULL;
@@ -67,7 +92,12 @@ void kds_s2000w_client_init()
 
        char* config_stream = kds_s2000w_config_read(CONFIG_FILE);
        config = kds_s2000w_load_config(config_stream);
-       curl_global_init(CURL_GLOBAL_ALL);
+       curl_global_init_mem(CURL_GLOBAL_DEFAULT,
+               _kds_s2000w_client_malloc_cb,
+               _kds_s2000w_client_free_cb,
+               _kds_s2000w_client_realloc_cb,
+               _kds_s2000w_client_strdup_cb,
+               _kds_s2000w_client_calloc_cb);
        curl = curl_easy_init();
        errbuf = malloc(CURL_ERROR_SIZE);
        memset(errbuf, 0, CURL_ERROR_SIZE);