diff --git a/build.bat b/build.bat index 409b95f..5dc1740 100644 --- a/build.bat +++ b/build.bat @@ -8,4 +8,4 @@ goto compile mkdir %~dp0build :compile -clang++ src/main.cpp -I includes/curl -L libs/curl/lib -lcurl -DCURL_STATICLIB -DWIN32_LEAN_AND_MEAN -o %outputdir%\micro.exe -g -gcodeview -O0 -Wl,-pdb= +clang++ src/main.cpp -I includes/curl -L libs/curl/lib -L libs/curl/bin -lcurl-x64 -lssl -DWIN32_LEAN_AND_MEAN -o %outputdir%\micro.exe -g -gcodeview -O0 -Wall -Wextra -Wl,-pdb= diff --git a/src/main.cpp b/src/main.cpp index a892d2c..9c4a0ae 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,14 +1,66 @@ #include +#include #include #include +#define CURL_MAX_WRITE_SIZE 16384 + +struct memory { + char *response; + size_t size; +}; + +size_t cb(char *data, size_t size, size_t nmemb, void *clientp) { + size_t realsize = size * nmemb; + struct memory *mem = (struct memory *)clientp; + + char *ptr = (char*)realloc(mem->response, mem->size + realsize + 1); + if(!ptr) + return 0; /* out of memory */ + + mem->response = ptr; + memcpy(&(mem->response[mem->size]), data, realsize); + mem->size += realsize; + mem->response[mem->size] = 0; + + return realsize; +} + +/* + * size_t cb_ri(char *data, size_t size, size_t nmemb, void *clientp) { + * size_t realsize = size * nmemb; + * FILE *file = fopen("si.txt", "a"); + * for (int i = 0; i < realsize; i++) { + * fprintf(file, "%c", data[i]); + * } + * fclose(file); + * return realsize; + * } + */ + int main (int argc, char* argv[]) { CURL *curl; - CURLcode res; + CURLcode res = (CURLcode)0; + printf("si%d",3); curl_global_init(CURL_GLOBAL_WIN32); + curl = curl_easy_init(); + if(curl) { + curl_easy_setopt(curl, CURLOPT_URL, "https://provider.code-challenge.feverup.com/api/events"); + curl_easy_setopt(curl, CURLOPT_SSL_OPTIONS, CURLSSLOPT_NATIVE_CA); + //curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, cb_ri); + curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, cb); + struct memory *mem = NULL; + mem = (struct memory *)calloc(1, sizeof(struct memory)); + curl_easy_setopt(curl, CURLOPT_WRITEDATA, mem); + + res = curl_easy_perform(curl); + curl_easy_cleanup(curl); + } //huh //printf("si%d",3); //std::cout << "si" << std::endl; curl_global_cleanup(); + return res; + }