diff options
-rw-r--r-- | src/wgtpkg-uninstall.c | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/src/wgtpkg-uninstall.c b/src/wgtpkg-uninstall.c index bb7739f..4fd7979 100644 --- a/src/wgtpkg-uninstall.c +++ b/src/wgtpkg-uninstall.c @@ -1,5 +1,6 @@ /* Copyright (C) 2015-2020 IoT.bzh + Copyright (C) 2020 Konsulko Group author: José Bollo <jose.bollo@iot.bzh> @@ -40,7 +41,7 @@ int uninstall_widget(const char *idaver, const char *root) char *ver; char path[PATH_MAX]; const char *at; - int rc, rc2; + int rc; struct unitconf uconf; struct wgt_info *ifo; @@ -88,13 +89,15 @@ int uninstall_widget(const char *idaver, const char *root) rc = snprintf(path, sizeof path, "%s/%s", FWK_ICON_DIR, idaver); assert(rc < (int)sizeof path); rc = unlink(path); - if (rc < 0 && errno != ENOENT) + if (rc < 0 && errno != ENOENT) { ERROR("can't remove '%s': %m", path); + return -1; + } /* removes the parent directory if empty */ - rc2 = snprintf(path, sizeof path, "%s/%s", root, id); - assert(rc2 < (int)sizeof path); - rc2 = rmdir(path); + rc = snprintf(path, sizeof path, "%s/%s", root, id); + assert(rc < (int)sizeof path); + rc = rmdir(path); if (rc < 0 && errno == ENOTEMPTY) return rc; if (rc < 0) { @@ -106,16 +109,16 @@ int uninstall_widget(const char *idaver, const char *root) * parent directory removed: last occurrence of the application * uninstall it for the security-manager */ - rc2 = secmgr_init(id); - if (rc2) { + rc = secmgr_init(id); + if (rc) { ERROR("can't init security manager context"); return -1; } - rc2 = secmgr_uninstall(); - if (rc2) { + rc = secmgr_uninstall(); + if (rc) { ERROR("can't uninstall security manager context"); return -1; } - return rc; + return 0; } |