##################################################################### */
/*}}}*/
// Include Files /*{{{*/
-#define APT_COMPATIBILITY 986
+#include <config.h>
#include <apt-pkg/debversion.h>
#include <apt-pkg/pkgcache.h>
return true;
if (PkgVer == 0 || PkgVer[0] == 0)
return false;
-
+ Op &= 0x0F;
+
+ size_t const lenPkgVer = strlen(PkgVer);
+ size_t const lenDepVer = strlen(DepVer);
+
+ // take a shortcut for equals which are string-equal as well
+ if (Op == pkgCache::Dep::Equals && lenPkgVer == lenDepVer &&
+ memcmp(PkgVer, DepVer, lenPkgVer) == 0)
+ return true;
+
// Perform the actual comparision.
- int Res = CmpVersion(PkgVer,DepVer);
- switch (Op & 0x0F)
+ int const Res = DoCmpVersion(PkgVer, PkgVer + lenPkgVer, DepVer, DepVer + lenDepVer);
+ switch (Op)
{
case pkgCache::Dep::LessEq:
if (Res <= 0)
// debVS::UpstreamVersion - Return the upstream version string /*{{{*/
// ---------------------------------------------------------------------
/* This strips all the debian specific information from the version number */
-string debVersioningSystem::UpstreamVersion(const char *Ver)
+std::string debVersioningSystem::UpstreamVersion(const char *Ver)
{
// Strip off the bit before the first colon
const char *I = Ver;
if (*I == '-')
Last = I - Ver;
- return string(Ver,Last);
+ return std::string(Ver,Last);
}
/*}}}*/