opkg: report errors from opkg_remove_pkg
authorticktock35 <ticktock35@e8e0d7a0-c8d9-11dd-a880-a1081c7ac358>
Mon, 15 Dec 2008 05:20:01 +0000 (05:20 +0000)
committerticktock35 <ticktock35@e8e0d7a0-c8d9-11dd-a880-a1081c7ac358>
Mon, 15 Dec 2008 05:20:01 +0000 (05:20 +0000)
git-svn-id: http://opkg.googlecode.com/svn/trunk@121 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

libopkg/opkg.c

index a6bb23c..ec524f9 100644 (file)
@@ -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