From 2d4b5846dc9076de1bc6244cfc717810d53ae4c7 Mon Sep 17 00:00:00 2001 From: Sangyoon Jang Date: Wed, 7 Feb 2018 14:20:16 +0900 Subject: [PATCH] Fix pkgmgrinfo_pkginfo_foreach_privilege Iterate appdefined privilege together. Change-Id: I2427ab8950c9b3874b9553bf2fcff28719d4b8e7 Signed-off-by: Sangyoon Jang --- src/pkgmgrinfo_pkginfo.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/pkgmgrinfo_pkginfo.c b/src/pkgmgrinfo_pkginfo.c index 7d8c9ad..d638493 100644 --- a/src/pkgmgrinfo_pkginfo.c +++ b/src/pkgmgrinfo_pkginfo.c @@ -1956,6 +1956,7 @@ API int pkgmgrinfo_pkginfo_foreach_privilege(pkgmgrinfo_pkginfo_h handle, retvm_if(privilege_func == NULL, PMINFO_R_EINVAL, "Callback function is NULL"); int ret; privilege_x *privilege; + appdefined_privilege_x *appdefined_privilege; GList *tmp; pkgmgr_pkginfo_x *info = (pkgmgr_pkginfo_x *)handle; @@ -1968,7 +1969,17 @@ API int pkgmgrinfo_pkginfo_foreach_privilege(pkgmgrinfo_pkginfo_h handle, continue; ret = privilege_func(privilege->value, user_data); if (ret < 0) - break; + return PMINFO_R_OK; + } + + for (tmp = info->pkg_info->appdefined_privileges; tmp; + tmp = tmp->next) { + appdefined_privilege = (appdefined_privilege_x *)tmp->data; + if (appdefined_privilege == NULL) + continue; + ret = privilege_func(appdefined_privilege->value, user_data); + if (ret < 0) + return PMINFO_R_OK; } return PMINFO_R_OK; } -- 2.7.4