From 7558e56e65499de257a6056415ede8fb0eb1b2aa Mon Sep 17 00:00:00 2001 From: hj kim Date: Thu, 23 Apr 2020 12:09:10 +0900 Subject: [PATCH] Remove RGB_ALLOC() and RGB_FREE() Change-Id: I74ba7e407f0e265d17329786601ef42f37fb0697 --- gif/mm_util_gif.c | 29 ++++++++++++----------------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/gif/mm_util_gif.c b/gif/mm_util_gif.c index a6ba1b6..abe0160 100644 --- a/gif/mm_util_gif.c +++ b/gif/mm_util_gif.c @@ -29,8 +29,6 @@ #include #define COLORMAP_FREE(map) { if (map != NULL) { GifFreeMapObject(map); map = NULL; } } -#define RGB_ALLOC(r, g, b, number, size) { r = calloc(1, number * size); g = calloc(1, number * size); b = calloc(1, number * size); } -#define RGB_FREE(r, g, b) { MMUTIL_SAFE_FREE(r); MMUTIL_SAFE_FREE(g); MMUTIL_SAFE_FREE(b); } #define GRAPHIC_EXT_BLOCK_SIZE 4 @@ -365,20 +363,17 @@ static int __write_function(GifFileType *gft, const GifByteType *data, int size) static const int DEFAULT_COLORMAP_SIZE = (1 << 8); -static int __gif_extract_rgb(mm_image_info_s *gif_image, unsigned long num_of_pixels, GifByteType **red, GifByteType **green, GifByteType **blue) +static void __gif_extract_rgb(mm_image_info_s *gif_image, unsigned long num_of_pixels, GifByteType **red, GifByteType **green, GifByteType **blue) { GifWord i, j; - GifByteType *redP, *greenP, *blueP; + GifByteType *redP = NULL, *greenP = NULL, *blueP = NULL; GifByteType *buffer = (GifByteType*)gif_image->data; mm_util_fenter(); - RGB_ALLOC(redP, greenP, blueP, num_of_pixels, sizeof(GifByteType)); - - *red = redP; - *green = greenP; - *blue = blueP; - mm_util_retvm_if((redP == NULL || greenP == NULL || blueP == NULL), MM_UTIL_ERROR_OUT_OF_MEMORY, "Memory allocation failed"); + redP = g_new0(GifByteType, num_of_pixels); + greenP = g_new0(GifByteType, num_of_pixels); + blueP = g_new0(GifByteType, num_of_pixels); for (i = 0; i < gif_image->height; i++) { for (j = 0; j < gif_image->width; j++) { @@ -389,7 +384,9 @@ static int __gif_extract_rgb(mm_image_info_s *gif_image, unsigned long num_of_pi } } - return MM_UTIL_ERROR_NONE; + *red = redP; + *green = greenP; + *blue = blueP; } static int __gif_make_color_map(mm_image_info_s *gif_image, ColorMapObject **color_map, GifByteType **intermediate_image, unsigned long *intermediate_image_size) @@ -403,11 +400,7 @@ static int __gif_make_color_map(mm_image_info_s *gif_image, ColorMapObject **col unsigned long num_of_pixels = gif_image->width * gif_image->height; /* make colormap and quantization for the color table of gif */ - ret = __gif_extract_rgb(gif_image, num_of_pixels, &red, &green, &blue); - if (ret != MM_UTIL_ERROR_NONE) { - mm_util_error("To extract rgb from image is failed"); - goto FAIL; - } + __gif_extract_rgb(gif_image, num_of_pixels, &red, &green, &blue); if ((*color_map = GifMakeMapObject(colormap_size, NULL)) == NULL) { mm_util_error("To make color map is failed"); @@ -438,7 +431,9 @@ FAIL: *intermediate_image_size = 0; COLORMAP_FREE(*color_map); SUCCESS: - RGB_FREE(red, green, blue); + g_free(red); + g_free(green); + g_free(blue); return ret; } -- 2.34.1