瀏覽代碼

Replace compare() == 0 checks with this == other checks

This improves performance, as we now can ignore unequal strings
based on their length already.

Gbp-Dch: ignore
Julian Andres Klode 10 年之前
父節點
當前提交
57590d3c6e
共有 2 個文件被更改,包括 5 次插入5 次删除
  1. 4 4
      apt-pkg/deb/deblistparser.cc
  2. 1 1
      apt-pkg/pkgcachegen.cc

+ 4 - 4
apt-pkg/deb/deblistparser.cc

@@ -591,9 +591,9 @@ const char *debListParser::ParseDepends(const char *Start,const char *Stop,
       string const arch = _config->Find("APT::Architecture");
       size_t const found = Package.rfind(':');
       if (found != StringView::npos &&
-	  (Package.compare(found, Package.size(), ":any") == 0 ||
-	   Package.compare(found, Package.size(), ":native") == 0||
-	   Package.compare(found +1, Package.size(), arch) == 0))
+	  (Package.substr(found) == ":any" ||
+	   Package.substr(found) == ":native" ||
+	   Package.substr(found +1) == arch))
 	 Package = Package.substr(0,found);
    }
 
@@ -827,7 +827,7 @@ bool debListParser::ParseDepends(pkgCache::VerIterator &Ver,
 	 if (NewDepends(Ver,Package,pkgArch,Version,Op,Type) == false)
 	    return false;
       }
-      else if (Package.compare(found, Package.npos, ":any") == 0)
+      else if (Package.substr(found) == ":any")
       {
 	 if (NewDepends(Ver,Package,"any",Version,Op,Type) == false)
 	    return false;

+ 1 - 1
apt-pkg/pkgcachegen.cc

@@ -1014,7 +1014,7 @@ bool pkgCacheListParser::NewDepends(pkgCache::VerIterator &Ver,
    {
       int const CmpOp = Op & 0x0F;
       // =-deps are used (79:1) for lockstep on same-source packages (e.g. data-packages)
-      if (CmpOp == pkgCache::Dep::Equals && Version.compare(Ver.VerStr()) == 0)
+      if (CmpOp == pkgCache::Dep::Equals && Version == Ver.VerStr())
 	 idxVersion = Ver->VerStr;
 
       if (idxVersion == 0)