diff options
author | Junghyun Yeon <jungh.yeon@samsung.com> | 2016-05-30 19:47:39 +0900 |
---|---|---|
committer | Junghyun Yeon <jungh.yeon@samsung.com> | 2016-05-31 15:10:14 +0900 |
commit | 105e44570273309722c5d53cb70a30fc06b41938 (patch) | |
tree | 91edb71b1fce12482c7ed55e249f8ce372b56a3c | |
parent | 5ad49606451fe2588737dab2704acfe3a6ad3cef (diff) | |
download | app-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.c | 14 |
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 |