poldek: poldek/pkgset.c, poldek/pkgset-req.c - fix: double call n_...
mis
mis at pld-linux.org
Fri Jul 6 13:33:19 CEST 2007
Author: mis Date: Fri Jul 6 11:33:19 2007 GMT
Module: poldek Tag: HEAD
---- Log message:
- fix: double call n_array_free(); simplified pkgset_search_reqdir()
---- Files affected:
poldek/poldek:
pkgset.c (1.96 -> 1.97) , pkgset-req.c (1.49 -> 1.50)
---- Diffs:
================================================================
Index: poldek/poldek/pkgset.c
diff -u poldek/poldek/pkgset.c:1.96 poldek/poldek/pkgset.c:1.97
--- poldek/poldek/pkgset.c:1.96 Mon Jul 2 18:39:22 2007
+++ poldek/poldek/pkgset.c Fri Jul 6 13:33:14 2007
@@ -502,13 +502,12 @@
return pkgs;
}
-tn_array *pkgset_search_reqdir(struct pkgset *ps, tn_array *pkgs,
- const char *dir)
+static
+tn_array *do_search_reqdir(struct pkgset *ps, tn_array *pkgs, const char *dir)
{
tn_array *tmp = pkgs_array_new(32);
int i, pkgs_passsed = 1;
-
for (i=0; i < n_array_size(ps->pkgdirs); i++) {
struct pkgdir *pkgdir = n_array_nth(ps->pkgdirs, i);
@@ -535,7 +534,7 @@
}
n_array_free(tmp);
- if (pkgs_passsed && n_array_size(pkgs) == 0)
+ if (!pkgs_passsed && n_array_size(pkgs) == 0)
n_array_cfree(&pkgs);
#if ENABLE_TRACE
@@ -547,12 +546,15 @@
return pkgs;
}
+tn_array *pkgset_search_reqdir(struct pkgset *ps, const char *dir)
+{
+ return do_search_reqdir(ps, NULL, dir);
+}
tn_array *pkgset_search(struct pkgset *ps, enum pkgset_search_tag tag,
const char *value)
{
tn_array *pkgs;
-
n_array_sort(ps->pkgs);
pkgs = pkgs_array_new_ex(4, pkg_cmp_name_evr_rev);
@@ -591,7 +593,8 @@
break;
else {
struct pkg *buf[1024];
- int i, n;
+ int i, n = 0;
+
n = file_index_lookup(ps->file_idx, value, 0, buf, 1024);
n_assert(n >= 0);
@@ -600,7 +603,7 @@
n_array_push(pkgs, pkg_link(buf[i]));
} else {
- pkgset_search_reqdir(ps, pkgs, value);
+ do_search_reqdir(ps, pkgs, value);
}
}
break;
@@ -611,7 +614,7 @@
break;
}
-
+
if (n_array_size(pkgs) == 0) {
n_array_free(pkgs);
pkgs = NULL;
================================================================
Index: poldek/poldek/pkgset-req.c
diff -u poldek/poldek/pkgset-req.c:1.49 poldek/poldek/pkgset-req.c:1.50
--- poldek/poldek/pkgset-req.c:1.49 Tue Jun 19 16:12:34 2007
+++ poldek/poldek/pkgset-req.c Fri Jul 6 13:33:14 2007
@@ -32,8 +32,7 @@
#include "fileindex.h"
extern int poldek_conf_MULTILIB;
-extern tn_array *pkgset_search_reqdir(struct pkgset *ps, tn_array *pkgs,
- const char *dir);
+extern tn_array *pkgset_search_reqdir(struct pkgset *ps, const char *dir);
void *pkg_na_malloc(struct pkg *pkg, size_t size);
@@ -331,7 +330,7 @@
} else { /* n is 0 */
tn_array *pkgs;
- if ((pkgs = pkgset_search_reqdir(ps, NULL, reqname))) {
+ if ((pkgs = pkgset_search_reqdir(ps, reqname))) {
int i;
n = 0;
================================================================
---- CVS-web:
http://cvs.pld-linux.org/poldek/poldek/pkgset.c?r1=1.96&r2=1.97&f=u
http://cvs.pld-linux.org/poldek/poldek/pkgset-req.c?r1=1.49&r2=1.50&f=u
More information about the pld-cvs-commit
mailing list