unsigned long intermediate_image_size = 0;
unsigned long idx = 0;
- mm_util_retvm_if(gif_image == NULL, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter");
- mm_util_retvm_if(gif_image->data == NULL, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter");
+ mm_util_retvm_if(!gif_file, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid gif_file");
+ mm_util_retvm_if(!gif_image, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid gif_image");
+ mm_util_retvm_if(!gif_image->data, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid gif_image->data");
/* Make local color map */
ret = __gif_make_color_map(gif_image, &color_map, &intermediate_image, &intermediate_image_size);
g_free(intermediate_image);
return MM_UTIL_ERROR_INVALID_OPERATION;
}
- /* release color map */
- COLORMAP_FREE(color_map);
- mm_util_debug("put pixel count: %lu", (intermediate_image_size / sizeof(GifPixelType)));
+ COLORMAP_FREE(color_map);
+ mm_util_debug("pixel count: %lu", (intermediate_image_size / sizeof(GifPixelType)));
for (idx = 0; idx < (intermediate_image_size / sizeof(GifPixelType)); idx++) {
GifPixelType pixel = (GifPixelType)intermediate_image[idx];
if (EGifPutPixel(gif_file->GifFile, pixel) == GIF_ERROR) {
- mm_util_error("could not put pixel");
- return MM_UTIL_ERROR_INVALID_OPERATION;
+ mm_util_error("EGifPutPixel failed due to %s", GifErrorString(gif_file->GifFile->Error));
+ ret = MM_UTIL_ERROR_INVALID_OPERATION;
+ break;
}
}
/* release intermediate_image */
g_free(intermediate_image);
- return MM_UTIL_ERROR_NONE;
+ return ret;
}
static int __gif_image_create_ext_block(int function, int byte_count, ExtensionBlock **ext_block)