comparison = pkg_compare_versions(pkg, temp);
- free(temp->version);
+ pkg_deinit(temp);
free(temp);
if ((depends->constraint == EARLIER) && (comparison < 0))
static int is_pkg_in_pkg_vec(pkg_vec_t * vec, pkg_t * pkg)
{
int i;
+ char *arch1, *arch2;
pkg_t **pkgs = vec->pkgs;
+ arch1 = pkg_get_string(pkg, PKG_ARCHITECTURE);
+
+ for (i = 0; i < vec->len; i++) {
+ arch2 = pkg_get_string(*(pkgs + i), PKG_ARCHITECTURE);
- for (i = 0; i < vec->len; i++)
if ((strcmp(pkg->name, (*(pkgs + i))->name) == 0)
&& (pkg_compare_versions(pkg, *(pkgs + i)) == 0)
- && (strcmp(pkg->architecture, (*(pkgs + i))->architecture)
- == 0))
+ && (strcmp(arch1, arch2) == 0))
return 1;
+ }
return 0;
}