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;
result = (cmd->fun)(conf, argc, argv);
- if ( result != 0 && !error_list) {
- opkg_message(conf, OPKG_NOTICE, "An error ocurred, return value: %d.\n", result);
- }
-
- opkg_print_error_list (conf);
+ print_error_list();
+ free_error_list();
p_userdata = NULL;
return result;
fclose (out);
unlink (tmp_file_name);
}
+ free(tmp_file_name);
} else
err = opkg_download(conf, url, list_file_name, NULL, NULL);
if (err) {
list_file_name);
}
free(url);
-
-#ifdef HAVE_GPGME
+#if defined(HAVE_GPGME) || defined(HAVE_OPENSSL)
if (conf->check_signature) {
/* download detached signitures to verify the package lists */
/* get the url for the sig file */
/* create temporary file for it */
char *tmp_file_name;
- sprintf_alloc (&tmp_file_name, "%s/%s", tmp, "Packages.sig");
+ /* Put the signature in the right place */
+ sprintf_alloc (&tmp_file_name, "%s/%s.sig", lists_dir, src->name);
err = opkg_download(conf, url, tmp_file_name, NULL, NULL);
if (err) {
else
opkg_message (conf, OPKG_NOTICE, "Signature check failed\n");
}
- unlink (tmp_file_name);
+ /* We shouldn't unlink the signature ! */
+ // unlink (tmp_file_name);
free (tmp_file_name);
free (url);
}
}
free (path);
}
+ closedir(dir);
} else
perror (ctx->statedir);
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);
}
}
+ pkg_vec_free(available);
+
return 0;
}
char *pkg_name = NULL;
char **pkg_fields = NULL;
int n_fields = 0;
- char *buff ;
+ char *buff = NULL;
if (argc > 0) {
pkg_name = argv[0];
We need to free it :) ( Thanks florian for seeing the error )
*/
free(buff);
+ buff = NULL;
}
if (conf->verbosity > 1) {
conffile_list_elt_t *iter;
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;
}