From 105e44570273309722c5d53cb70a30fc06b41938 Mon Sep 17 00:00:00 2001 From: Junghyun Yeon Date: Mon, 30 May 2016 19:47:39 +0900 Subject: [PATCH] remove duplicated db retrieving operation Change-Id: I13f8669a297d8f68d0c7540e50121b11b5eac049 Signed-off-by: Junghyun Yeon --- src/app_info.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/app_info.c b/src/app_info.c index eda32cf..973efe2 100644 --- a/src/app_info.c +++ b/src/app_info.c @@ -179,11 +179,19 @@ static int app_info_foreach_app_info_cb(pkgmgrinfo_appinfo_h handle, void *cb_da return PMINFO_R_ERROR; } - if (app_info_create(appid, &app_info) == APP_MANAGER_ERROR_NONE) { - iteration_next = foreach_context->callback(app_info, foreach_context->user_data); - app_info_destroy(app_info); + app_info = calloc(1, sizeof(struct app_info_s)); + if (app_info == NULL) { + app_manager_error(APP_MANAGER_ERROR_OUT_OF_MEMORY, __FUNCTION__, NULL); + return PMINFO_R_ERROR; } + app_info->app_id = strdup(appid); + app_info->pkg_app_info = handle; + iteration_next = foreach_context->callback(app_info, foreach_context->user_data); + + free(app_info->app_id); + free(app_info); + if (iteration_next == true) return PMINFO_R_OK; else -- 2.7.4