aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--image.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/image.c b/image.c
index b44538d..19fafaf 100644
--- a/image.c
+++ b/image.c
@@ -302,12 +302,11 @@ static bool img_load_webp(img_t *img, const fileinfo_t *file)
{
FILE *webp_file;
WebPData data;
-
Imlib_Image im = NULL;
struct WebPAnimDecoderOptions opts;
WebPAnimDecoder *dec = NULL;
struct WebPAnimInfo info;
- unsigned char *buf = NULL;
+ unsigned char *buf = NULL, *bytes = NULL;
int ts;
const WebPDemuxer *demux;
WebPIterator iter;
@@ -315,8 +314,6 @@ static bool img_load_webp(img_t *img, const fileinfo_t *file)
unsigned int delay;
bool err = false;
- data.bytes = NULL;
-
if ((err = (webp_file = fopen(file->path, "rb")) == NULL)) {
error(0, 0, "%s: Error opening webp image", file->name);
goto fail;
@@ -324,11 +321,12 @@ static bool img_load_webp(img_t *img, const fileinfo_t *file)
fseek(webp_file, 0L, SEEK_END);
data.size = ftell(webp_file);
rewind(webp_file);
- data.bytes = emalloc(data.size);
- if ((err = fread((unsigned char *)data.bytes, 1, data.size, webp_file) != data.size)) {
+ bytes = emalloc(data.size);
+ if ((err = fread(bytes, 1, data.size, webp_file) != data.size)) {
error(0, 0, "%s: Error reading webp image", file->name);
goto fail;
}
+ data.bytes = bytes;
/* Setup the WebP Animation Decoder */
if ((err = !WebPAnimDecoderOptionsInit(&opts))) {
@@ -391,7 +389,7 @@ static bool img_load_webp(img_t *img, const fileinfo_t *file)
fail:
if (dec != NULL)
WebPAnimDecoderDelete(dec);
- free((unsigned char *)data.bytes);
+ free(bytes);
return !err;
}
#endif /* HAVE_LIBWEBP */