From d35e489499daaa64958a3d46688ba746a337041b Mon Sep 17 00:00:00 2001
From: Aaron Griffin <aaron@archlinux.org>
Date: Sun, 18 Feb 2007 18:29:28 +0000
Subject: * Fix version comparisons when one pkgrel doesn't exist (this ony
 fails on an ==   operation, technically, as 1.1.2-1 >= 1.1.2 is true.

---
 lib/libalpm/deps.c       | 6 +++---
 lib/libalpm/versioncmp.c | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

(limited to 'lib')

diff --git a/lib/libalpm/deps.c b/lib/libalpm/deps.c
index ae378658..7065efa7 100644
--- a/lib/libalpm/deps.c
+++ b/lib/libalpm/deps.c
@@ -328,7 +328,7 @@ alpm_list_t *_alpm_checkdeps(pmtrans_t *trans, pmdb_t *db, pmtranstype_t op,
 				}
 				/* else if still not found... */
 				if(!found) {
-					_alpm_log(PM_LOG_DEBUG, _("checkdeps: found %s as a dependency for %s"),
+					_alpm_log(PM_LOG_DEBUG, _("missing dependency '%s' for package '%s'"),
 					                          depend.name, tp->name);
 					miss = _alpm_depmiss_new(tp->name, PM_DEP_TYPE_DEPEND, depend.mod,
 					                         depend.name, depend.version);
@@ -397,8 +397,7 @@ alpm_list_t *_alpm_checkdeps(pmtrans_t *trans, pmdb_t *db, pmtranstype_t op,
 
 int _alpm_splitdep(char *depstr, pmdepend_t *depend)
 {
-	char *str = NULL;
-	char *ptr = NULL;
+	char *str = NULL, *ptr = NULL;
 
 	if(depstr == NULL || depend == NULL) {
 		return(-1);
@@ -432,6 +431,7 @@ int _alpm_splitdep(char *depstr, pmdepend_t *depend)
 	if(depend->mod != PM_DEP_MOD_EQ) {
 		ptr++;
 	}
+
 	STRNCPY(depend->version, ptr, PKG_VERSION_LEN);
 	FREE(str);
 
diff --git a/lib/libalpm/versioncmp.c b/lib/libalpm/versioncmp.c
index 489e109d..d23f0568 100644
--- a/lib/libalpm/versioncmp.c
+++ b/lib/libalpm/versioncmp.c
@@ -238,7 +238,7 @@ int _alpm_versioncmp(const char *a, const char *b)
 
 	if((!*one) && (!*two)) {
 		/* compare release numbers */
-		if(rel1 && rel2) return(_alpm_versioncmp(rel1, rel2));
+		if(rel1 && rel2 && strlen(rel1) && strlen(rel2)) return(_alpm_versioncmp(rel1, rel2));
 		return(0);
 	}
 
-- 
cgit v1.2.3-70-g09d2