aboutsummaryrefslogtreecommitdiff
path: root/src/net.c
diff options
context:
space:
mode:
authorJan200101 <sentrycraft123@gmail.com>2020-08-18 23:58:16 +0200
committerJan200101 <sentrycraft123@gmail.com>2020-08-18 23:58:16 +0200
commitd53109eaa890ab807b66961a89291cea3cd3c003 (patch)
treea62382b32014266f5aecb6f639d0962bb1682bf0 /src/net.c
parent1753e2b151cbb4af75a4e9ea61720b3704b03805 (diff)
downloadpolecat-d53109eaa890ab807b66961a89291cea3cd3c003.tar.gz
polecat-d53109eaa890ab807b66961a89291cea3cd3c003.zip
first part of a proper lutris implementation and cleanup0.1.4
- remove all old build platform related variables - change behavior of clean - change tabs into spaces - make XDG fetching method static - replace strcpy and cat with strn alternative with proper bounds checking - add cache dir - reenable dxvk and download from ram - completely rework lutris fetching and convert it into an interal struct - only show http errors in debug - add sanity checks to methods with possible NULL return - change extracting methods to extract tar from ram
Diffstat (limited to 'src/net.c')
-rw-r--r--src/net.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/net.c b/src/net.c
index a23f772..cf0488f 100644
--- a/src/net.c
+++ b/src/net.c
@@ -56,12 +56,14 @@ struct MemoryStruct* downloadToRam(const char* URL)
curl_easy_getinfo (curl_handle, CURLINFO_RESPONSE_CODE, &http_code);
if(res != CURLE_OK) {
- printf("libcurl error: %s\n", curl_easy_strerror(res));
+ puts(curl_easy_strerror(res));
return NULL;
}
else if (http_code != 200)
{
+#ifdef DEBUG
printf("HTTP Error %li\n", http_code);
+#endif
return NULL;
}
@@ -79,8 +81,11 @@ void downloadFile(const char* URL, const char* path)
if (chunk)
{
FILE* file = fopen(path, "wb");
- fwrite(chunk->memory, chunk->size, 1, file);
- fclose(file);
+ if (file)
+ {
+ fwrite(chunk->memory, chunk->size, 1, file);
+ fclose(file);
+ }
free(chunk->memory);
free(chunk);
@@ -91,15 +96,16 @@ struct json_object* fetchJSON(const char* URL)
{
struct MemoryStruct* chunk = downloadToRam(URL);
+ struct json_object* json = NULL;
+
if (chunk)
{
- struct json_object* json = json_tokener_parse((char*)chunk->memory);
+ json = json_tokener_parse((char*)chunk->memory);
free(chunk->memory);
free(chunk);
- return json;
}
- return NULL;
+ return json;
} \ No newline at end of file