remove duplicated db retrieving operation 61/72061/2
authorJunghyun Yeon <jungh.yeon@samsung.com>
Mon, 30 May 2016 10:47:39 +0000 (19:47 +0900)
committerJunghyun Yeon <jungh.yeon@samsung.com>
Tue, 31 May 2016 06:10:14 +0000 (15:10 +0900)
Change-Id: I13f8669a297d8f68d0c7540e50121b11b5eac049
Signed-off-by: Junghyun Yeon <jungh.yeon@samsung.com>
src/app_info.c

index eda32cf..973efe2 100644 (file)
@@ -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