commit: 3253de392836e709cea75f4b3bf3b6e1053c955b
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Mon May 6 16:01:12 2019 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Mon May 6 16:01:12 2019 +0000
URL: https://gitweb.gentoo.org/proj/portage-utils.git/commit/?id=3253de39
libq/atom: ignore REPO like SLOT and CATEGORY iff not set on both sides
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
libq/atom.c | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/libq/atom.c b/libq/atom.c
index 65c8a26..4df76a6 100644
--- a/libq/atom.c
+++ b/libq/atom.c
@@ -406,22 +406,21 @@ atom_compare(const depend_atom *a1, const depend_atom *a2)
}
/* check slot only when both sides have it */
- if (a1->SLOT && a2->SLOT &&
+ if (a1->SLOT != NULL && a2->SLOT != NULL &&
a1->SLOT[0] != '\0' && a2->SLOT[0] != '\0' &&
(strcmp(a1->SLOT, a2->SLOT) != 0 ||
(a1->SUBSLOT != NULL && a2->SUBSLOT != NULL &&
strcmp(a1->SUBSLOT, a2->SUBSLOT) != 0)))
return NOT_EQUAL;
- /* check repo */
- if (a1->REPO || a2->REPO) {
- if (!a1->REPO || !a2->REPO || strcmp(a1->REPO, a2->REPO))
- return NOT_EQUAL;
- }
+ /* same for check repo */
+ if (a1->REPO != NULL && a2->REPO != NULL &&
+ a1->REPO[0] != '\0' && a2->REPO[0] != '\0' &&
+ strcmp(a1->REPO, a2->REPO) != 0)
+ return NOT_EQUAL;
/* Check category, iff both are specified. This way we can match
- * atoms like "sys-devel/gcc" and "gcc".
- */
+ * atoms like "sys-devel/gcc" and "gcc". */
if (a1->CATEGORY && a2->CATEGORY) {
if (strcmp(a1->CATEGORY, a2->CATEGORY))
return NOT_EQUAL;