X-Git-Url: https://git.librecmc.org/?p=oweals%2Fopkg-lede.git;a=blobdiff_plain;f=libopkg%2Fopkg_cmd.c;h=d9ad77a4816048f821a4d4b5a40d19deb25e8a5c;hp=4a0410ce32774e5de927421aa14ed54f05dd5978;hb=d47d475e70c13208bc3f61997943c65bbfbe132f;hpb=587f690ff0ba0ec6b91bd4b83fa39305120e8e93 diff --git a/libopkg/opkg_cmd.c b/libopkg/opkg_cmd.c index 4a0410c..d9ad77a 100644 --- a/libopkg/opkg_cmd.c +++ b/libopkg/opkg_cmd.c @@ -141,23 +141,6 @@ opkg_cmd_t *opkg_cmd_find(const char *name) return NULL; } -void opkg_print_error_list (opkg_conf_t *conf) -{ - if ( error_list ) { - reverse_error_list(&error_list); - - printf ("Collected errors:\n"); - /* Here we print the errors collected and free the list */ - while (error_list != NULL) { - printf (" * %s", error_list->errmsg); - error_list = error_list->next; - - } - free_error_list(); - } - -} - int opkg_cmd_exec(opkg_cmd_t *cmd, opkg_conf_t *conf, int argc, const char **argv, void *userdata) { int result; @@ -166,11 +149,8 @@ int opkg_cmd_exec(opkg_cmd_t *cmd, opkg_conf_t *conf, int argc, const char **arg result = (cmd->fun)(conf, argc, argv); - if ( result != 0 && !error_list) { - opkg_message(conf, OPKG_NOTICE, "An error occurred, return value: %d.\n", result); - } - - opkg_print_error_list (conf); + print_error_list(); + free_error_list(); p_userdata = NULL; return result; @@ -249,6 +229,7 @@ static int opkg_update_cmd(opkg_conf_t *conf, int argc, char **argv) fclose (out); unlink (tmp_file_name); } + free(tmp_file_name); } else err = opkg_download(conf, url, list_file_name, NULL, NULL); if (err) { @@ -451,7 +432,7 @@ static int opkg_recurse_pkgs_in_order(opkg_conf_t *conf, pkg_t *pkg, pkg_vec_t * dependents = abpkg->provided_by->pkgs; l = 0; if (dependents != NULL) - while (dependents [l] != NULL && l < abpkg->provided_by->len) { + while (l < abpkg->provided_by->len && dependents[l] != NULL) { opkg_message(conf, OPKG_INFO, " Descending on pkg: %s\n", dependents [l]->name); @@ -786,6 +767,8 @@ static int opkg_list_installed_cmd(opkg_conf_t *conf, int argc, char **argv) } } + pkg_vec_free(available); + return 0; } @@ -968,7 +951,7 @@ static int opkg_remove_cmd(opkg_conf_t *conf, int argc, char **argv) pkg_to_remove = pkg_hash_fetch_installed_by_name(&conf->pkg_hash, pkg->name ); } - if (pkg == NULL) { + if (pkg_to_remove == NULL) { opkg_message(conf, OPKG_ERROR, "Package %s is not installed.\n", pkg->name); continue; }