-/* pkg_vec.c - the itsy package management system
+/* pkg_vec.c - the opkg package management system
Steven M. Ayer
General Public License for more details.
*/
-#include <stdlib.h>
+#include "includes.h"
#include <fnmatch.h>
#include "xregex.h"
-#include "opkg.h"
#include "pkg.h"
+#include "opkg_message.h"
pkg_vec_t * pkg_vec_alloc(void)
{
void pkg_vec_free(pkg_vec_t *vec)
{
- free(vec->pkgs);
+ if (!vec)
+ return;
+
+ if (vec->pkgs)
+ free(vec->pkgs);
+
free(vec);
}
void pkg_vec_insert(pkg_vec_t *vec, const pkg_t *pkg)
{
- int i;
int found = 0;
#if 0
return 0;
}
-typedef int (*compare_fcn_t)(const void *, const void *);
-void pkg_vec_sort(pkg_vec_t *vec, int (*compar)(pkg_t *, pkg_t *))
+void pkg_vec_sort(pkg_vec_t *vec, compare_fcn_t compar)
{
- qsort(vec->pkgs, vec->len, sizeof(pkg_t *), (compare_fcn_t)compar);
+ qsort(vec->pkgs, vec->len, sizeof(pkg_t *), compar);
}
int pkg_vec_clear_marks(pkg_vec_t *vec)
*/
void abstract_pkg_vec_insert(abstract_pkg_vec_t *vec, abstract_pkg_t *pkg)
{
- int i;
#if 0
/* look for a duplicate pkg by name */
return 0;
}
-void abstract_pkg_vec_sort(pkg_vec_t *vec, int (*compar)(abstract_pkg_t *, abstract_pkg_t *))
+void abstract_pkg_vec_sort(pkg_vec_t *vec, compare_fcn_t compar)
{
- qsort(vec->pkgs, vec->len, sizeof(pkg_t *), (compare_fcn_t)compar);
+ qsort(vec->pkgs, vec->len, sizeof(pkg_t *), compar);
}