summaryrefslogtreecommitdiffstats
path: root/libopkg
diff options
context:
space:
mode:
authorticktock35 <ticktock35@e8e0d7a0-c8d9-11dd-a880-a1081c7ac358>2008-12-15 00:20:01 (EST)
committer ticktock35 <ticktock35@e8e0d7a0-c8d9-11dd-a880-a1081c7ac358>2008-12-15 00:20:01 (EST)
commita88680662fe0a5ea96aaa64b3a41e8200ee4b15c (patch)
tree2d0ca3dad7547fc62c6f873342dcacdbf328f341 /libopkg
parentc0fae254580423e0c7e5a6f140645e0db8fdfb37 (diff)
opkg: report errors from opkg_remove_pkg
git-svn-id: http://opkg.googlecode.com/svn/trunk@121 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
Diffstat (limited to 'libopkg')
-rw-r--r--libopkg/opkg.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/libopkg/opkg.c b/libopkg/opkg.c
index a6bb23c..ec524f9 100644
--- a/libopkg/opkg.c
+++ b/libopkg/opkg.c
@@ -512,6 +512,7 @@ opkg_install_package (opkg_t *opkg, const char *package_name, opkg_progress_call
int
opkg_remove_package (opkg_t *opkg, const char *package_name, opkg_progress_callback_t progress_callback, void *user_data)
{
+ int err;
pkg_t *pkg = NULL;
pkg_t *pkg_to_remove;
opkg_progress_data_t pdata;
@@ -519,11 +520,8 @@ opkg_remove_package (opkg_t *opkg, const char *package_name, opkg_progress_callb
opkg_assert (opkg != NULL);
opkg_assert (package_name != NULL);
-
-
pkg_info_preinstall_check (opkg->conf);
-
pkg = pkg_hash_fetch_installed_by_name (&opkg->conf->pkg_hash, package_name);
if (pkg == NULL)
@@ -558,7 +556,7 @@ opkg_remove_package (opkg_t *opkg, const char *package_name, opkg_progress_callb
progress (pdata, 75);
- opkg_remove_pkg (opkg->conf, pkg_to_remove, 0);
+ err = opkg_remove_pkg (opkg->conf, pkg_to_remove, 0);
/* write out status files and file lists */
opkg_conf_write_status_files (opkg->conf);
@@ -567,7 +565,7 @@ opkg_remove_package (opkg_t *opkg, const char *package_name, opkg_progress_callb
progress (pdata, 100);
opkg_package_free (pdata.package);
- return 0;
+ return (err) ? OPKG_UNKNOWN_ERROR : OPKG_NO_ERROR;
}
int