From 74c1e22b4a6b7c8d89e5d563f7a1f48d25b38fef Mon Sep 17 00:00:00 2001 From: Arch Librarian Date: Mon, 20 Sep 2004 17:03:39 +0000 Subject: * Patch from Koblinger Egmont to f... Author: mdz Date: 2003-09-10 23:39:49 GMT * Patch from Koblinger Egmont to fix version comparisons with '~' (Closes: #205960) --- apt-pkg/deb/debversion.cc | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'apt-pkg/deb') diff --git a/apt-pkg/deb/debversion.cc b/apt-pkg/deb/debversion.cc index e6132bea8..aeee61929 100644 --- a/apt-pkg/deb/debversion.cc +++ b/apt-pkg/deb/debversion.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: debversion.cc,v 1.7 2003/07/18 14:13:59 mdz Exp $ +// $Id: debversion.cc,v 1.8 2003/09/10 23:39:49 mdz Exp $ /* ###################################################################### Debian Version - Versioning system for Debian @@ -48,9 +48,15 @@ int debVersioningSystem::CmpFragment(const char *A,const char *AEnd, if (A >= AEnd && B >= BEnd) return 0; if (A >= AEnd) + { + if (*B == '~') return 1; return -1; + } if (B >= BEnd) + { + if (*A == '~') return -1; return 1; + } /* Iterate over the whole string What this does is to spilt the whole string into groups of @@ -101,11 +107,17 @@ int debVersioningSystem::CmpFragment(const char *A,const char *AEnd, // lhs is shorter if (lhs == AEnd) + { + if (*rhs == '~') return 1; return -1; + } // rhs is shorter if (rhs == BEnd) + { + if (*lhs == '~') return -1; return 1; + } // Shouldnt happen return 1; -- cgit v1.2.3-70-g09d2