summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunghyun Yeon <jungh.yeon@samsung.com>2016-05-30 19:47:39 +0900
committerJunghyun Yeon <jungh.yeon@samsung.com>2016-05-31 15:10:14 +0900
commit105e44570273309722c5d53cb70a30fc06b41938 (patch)
tree91edb71b1fce12482c7ed55e249f8ce372b56a3c
parent5ad49606451fe2588737dab2704acfe3a6ad3cef (diff)
downloadapp-manager-105e44570273309722c5d53cb70a30fc06b41938.tar.gz
app-manager-105e44570273309722c5d53cb70a30fc06b41938.tar.bz2
app-manager-105e44570273309722c5d53cb70a30fc06b41938.zip
remove duplicated db retrieving operation
Change-Id: I13f8669a297d8f68d0c7540e50121b11b5eac049 Signed-off-by: Junghyun Yeon <jungh.yeon@samsung.com>
-rw-r--r--src/app_info.c14
1 files 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