]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/deb/debversion.cc
restart debSrcRecordParsers only if needed
[apt.git] / apt-pkg / deb / debversion.cc
index a02699a4420f3dd9e8fea335082e2767c4c0d936..14056126280f6dca8391d700ace13ed31c013cc7 100644 (file)
@@ -215,10 +215,15 @@ bool debVersioningSystem::CheckDep(const char *PkgVer,
       return true;
    if (PkgVer == 0 || PkgVer[0] == 0)
       return false;
-   
+   Op &= 0x0F;
+
+   // fast track for (equal) strings [by location] which are by definition equal versions
+   if (PkgVer == DepVer)
+      return Op == pkgCache::Dep::Equals || Op == pkgCache::Dep::LessEq || Op == pkgCache::Dep::GreaterEq;
+
    // Perform the actual comparision.
-   int Res = CmpVersion(PkgVer,DepVer);
-   switch (Op & 0x0F)
+   int const Res = CmpVersion(PkgVer, DepVer);
+   switch (Op)
    {
       case pkgCache::Dep::LessEq:
       if (Res <= 0)