diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/curl.c | 5 | ||||
-rw-r--r-- | lib/imgtools.c | 5 |
2 files changed, 6 insertions, 4 deletions
@@ -466,15 +466,16 @@ int cCurl::downloadFile(const char* url, int& size, MemoryStruct* data, int time curl_easy_getinfo(handle, CURLINFO_HTTP_CODE, &code); tell(3, "got http code (%ld)", code); - data->statusCode = code; - if (code == 404) + if (code == 400 || code == 404 || code == 500) { data->clear(); + data->statusCode = code; exit(); return fail; } + data->statusCode = code; size = data->size; return success; diff --git a/lib/imgtools.c b/lib/imgtools.c index c34c022..9f4d87e 100644 --- a/lib/imgtools.c +++ b/lib/imgtools.c @@ -47,7 +47,7 @@ int fromJpeg(Imlib_Image& image, unsigned char* buffer, int size) if (setjmp(jerr.setjmp_buffer)) { jpeg_destroy_decompress(&cinfo); - return 0; + return fail; } jpeg_create_decompress(&cinfo); @@ -213,7 +213,8 @@ int scaleJpegBuffer(MemoryStruct* data, int width, int height) { Imlib_Image image; - fromJpeg(image, (unsigned char*)data->memory, data->size); + if (fromJpeg(image, (unsigned char*)data->memory, data->size) != success) + return fail; scaleImageToJpegBuffer(image, data, width, height); |