]>
Commit | Line | Data |
---|---|---|
3da36713 MB |
1 | commit 7ac464b1d6d1cbeb6f6bcdaf4b477f0c21e3e334 |
2 | Author: Marcin Banasiak <megabajt@pld-linux.org> | |
3 | Date: Thu Apr 9 19:11:23 2009 +0200 | |
4 | ||
5 | Enable checking for duplicates before adding new pkg to capreq_idx | |
6 | ||
7 | This change partially fixes lp#270503 on systems where multilib is not | |
8 | used (see https://bugs.launchpad.net/poldek/+bug/270503/comments/1) and | |
9 | in candidates is the only one package, but specified several times. | |
10 | ||
11 | diff --git a/capreqidx.c b/capreqidx.c | |
12 | index 1af3a5f..7c31825 100644 | |
13 | --- a/capreqidx.c | |
14 | +++ b/capreqidx.c | |
15 | @@ -92,7 +92,11 @@ int capreq_idx_add(struct capreq_idx *idx, const char *capname, | |
16 | if (ent->_size == 1) /* crent_pkgs is NOT allocated */ | |
17 | capreq_idx_ent_transform_to_array(ent); | |
18 | ||
19 | -#if 0 /* not happens in fact */ | |
20 | + /* | |
21 | + * Sometimes, there are duplicates, especially in dotnet-* packages | |
22 | + * which provides multiple versions of one cap. For example dotnet-mono-zeroconf | |
23 | + * provides: mono(Mono.Zeroconf) = 1.0.0.0, mono(Mono.Zeroconf) = 2.0.0.0, etc. | |
24 | + */ | |
25 | if (idx->flags & CAPREQ_IDX_CAP) { /* check for duplicates */ | |
26 | register int i; | |
27 | for (i=0; i < ent->items; i++) { | |
28 | @@ -100,7 +104,6 @@ int capreq_idx_add(struct capreq_idx *idx, const char *capname, | |
29 | return 1; | |
30 | } | |
31 | } | |
32 | -#endif | |
33 | ||
34 | if (ent->items == ent->_size) { | |
35 | ent->_size *= 2; |