Use g_strdup_printf instead 20/259120/3
authorMinje Ahn <minje.ahn@samsung.com>
Tue, 1 Jun 2021 08:40:19 +0000 (17:40 +0900)
committerMinje Ahn <minje.ahn@samsung.com>
Tue, 1 Jun 2021 23:01:22 +0000 (08:01 +0900)
1. Changed to use 'g_strdup_printf' instead of '__thumbnail_util_convert_itoa'.
2. Some modifications for readablility.

Change-Id: I227b2ddc20ed5ac69b29bcde3683311e3feaf359
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
src/thumbnail_util.c

index cbce010ad8abc98d148ee3f2285bad2927f42f18..3f65b23f293fc6a7ee36de158a524fbaaa1b3382 100644 (file)
@@ -46,25 +46,32 @@ static int __thumbnail_util_error_capi(int internal_error)
        }
 }
 
-static void __thumbnail_util_convert_itoa(int request_id, char **req_str)
-{
-       char buf[MAX_SIZE] = {0, };
-
-       snprintf(buf, MAX_SIZE, "%d", request_id);
-       *req_str = strndup(buf, strlen(buf));
-}
-static void __thumbnail_util_extract_completed_cb(int error, int request_id, const char *path, int thumb_width, int thumb_height, unsigned char *thumb_data, int thumb_size, void *user_data)
+static void __thumbnail_util_extract_completed_cb(int error,
+                                                                                               int request_id,
+                                                                                               const char *path,
+                                                                                               int thumb_width,
+                                                                                               int thumb_height,
+                                                                                               unsigned char *thumb_data,
+                                                                                               int thumb_size,
+                                                                                               void *user_data)
 {
        thumbnail_extract_cb_s *_thumb_cb = (thumbnail_extract_cb_s *)user_data;
        char *request_id_str = NULL;
 
-       if (_thumb_cb != NULL) {
-               __thumbnail_util_convert_itoa(request_id, &request_id_str);
-               if (_thumb_cb->thumb_extract_cb)
-                       _thumb_cb->thumb_extract_cb(__thumbnail_util_error_capi(error), request_id_str, thumb_width, thumb_height, thumb_data, thumb_size, _thumb_cb->user_data);
-               SAFE_FREE(request_id_str);
-       }
-       SAFE_FREE(_thumb_cb);
+       if (!_thumb_cb || !_thumb_cb->thumb_extract_cb)
+               return;
+
+       request_id_str = g_strdup_printf("%d", request_id);
+       _thumb_cb->thumb_extract_cb(__thumbnail_util_error_capi(error),
+                                                               request_id_str,
+                                                               thumb_width,
+                                                               thumb_height,
+                                                               thumb_data,
+                                                               thumb_size,
+                                                               _thumb_cb->user_data);
+
+       g_free(request_id_str);
+       g_free(_thumb_cb);
 }
 
 int thumbnail_util_create(thumbnail_h *thumb)
@@ -101,25 +108,28 @@ int thumbnail_util_extract(thumbnail_h thumb, thumbnail_extracted_cb callback, v
        static int g_thumbnail_req_id = 0;
        thumbnail_s *_thumb = (thumbnail_s *)thumb;
 
-       if (_thumb != NULL && STRING_VALID(_thumb->file_path)) {
-               g_thumbnail_req_id++;
-               _thumb->request_id = g_thumbnail_req_id;
-               __thumbnail_util_convert_itoa(_thumb->request_id, request_id);
-               thumbnail_extract_cb_s *_thumb_cb = (thumbnail_extract_cb_s *)calloc(1, sizeof(thumbnail_extract_cb_s));
+       thumbnail_util_retvm_if(!_thumb, THUMBNAIL_UTIL_ERROR_INVALID_PARAMETER, "Invalid handle");
+       thumbnail_util_retvm_if(!STRING_VALID(_thumb->file_path), THUMBNAIL_UTIL_ERROR_INVALID_PARAMETER, "Invalid path");
 
-               if (_thumb_cb != NULL) {
-                       _thumb_cb->user_data = user_data;
-                       _thumb_cb->thumb_extract_cb = callback;
-               }
+       _thumb->request_id = ++g_thumbnail_req_id;
 
-               res = thumbnail_request_extract_raw_data_async(_thumb->request_id, _thumb->file_path, _thumb->dst_width, _thumb->dst_height, (ThumbRawFunc)__thumbnail_util_extract_completed_cb, (void *)_thumb_cb, tzplatform_getuid(TZ_USER_NAME));
-               ret = __thumbnail_util_error_capi(res);
-               if (ret != THUMBNAIL_UTIL_ERROR_NONE)
-                       free(_thumb_cb);
-       } else {
-               thumbnail_util_error("INVALID_PARAMETER(0x%08x)", THUMBNAIL_UTIL_ERROR_INVALID_PARAMETER);
-               ret = THUMBNAIL_UTIL_ERROR_INVALID_PARAMETER;
-       }
+       thumbnail_extract_cb_s *_thumb_cb = g_new0(thumbnail_extract_cb_s, 1);
+
+       _thumb_cb->user_data = user_data;
+       _thumb_cb->thumb_extract_cb = callback;
+
+       res = thumbnail_request_extract_raw_data_async(_thumb->request_id,
+                                                                                               _thumb->file_path,
+                                                                                               _thumb->dst_width,
+                                                                                               _thumb->dst_height,
+                                                                                               __thumbnail_util_extract_completed_cb,
+                                                                                               (void *)_thumb_cb,
+                                                                                               tzplatform_getuid(TZ_USER_NAME));
+       ret = __thumbnail_util_error_capi(res);
+       if (ret == THUMBNAIL_UTIL_ERROR_NONE)
+               *request_id = g_strdup_printf("%d", g_thumbnail_req_id);
+       else
+               g_free(_thumb_cb);
 
        return ret;
 }