diff options
author | Aaron Griffin <aaron@archlinux.org> | 2007-02-18 18:29:28 +0000 |
---|---|---|
committer | Aaron Griffin <aaron@archlinux.org> | 2007-02-18 18:29:28 +0000 |
commit | d35e489499daaa64958a3d46688ba746a337041b (patch) | |
tree | 38639093148a43cd94f826236404c923c64f1f4d | |
parent | 6e9c987857030cbbe3e7e64fa963b579ecdde9c0 (diff) |
* 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.
-rw-r--r-- | lib/libalpm/deps.c | 6 | ||||
-rw-r--r-- | lib/libalpm/versioncmp.c | 2 |
2 files changed, 4 insertions, 4 deletions
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); } |