]> git.saurik.com Git - cydia.git/commitdiff
Rely on GetIndexes instead of ComputeIndexTargets.
authorJay Freeman (saurik) <saurik@saurik.com>
Sat, 17 May 2014 07:49:56 +0000 (00:49 -0700)
committerJay Freeman (saurik) <saurik@saurik.com>
Sat, 17 May 2014 07:59:11 +0000 (00:59 -0700)
MobileCydia.mm

index e9dab5143b433b0350d099b2273d35e184107a79..900e76ed56f69fac1784374b658f9126315f3857 100644 (file)
@@ -1498,18 +1498,20 @@ static void PackageImport(const void *key, const void *value, void *context) {
     debReleaseIndex *dindex(dynamic_cast<debReleaseIndex *>(index));
     if (dindex != NULL) {
         std::string file(dindex->MetaIndexURI(""));
-        files_.insert(file + "Release.gpg");
-        files_.insert(file + "Release");
         base_.set(pool, file);
 
-        std::vector<IndexTarget *> *targets(dindex->ComputeIndexTargets());
-        for (std::vector<IndexTarget *>::const_iterator target(targets->begin()); target != targets->end(); ++target) {
-            std::string file((*target)->URI);
+        pkgAcquire acquire;
+        dindex->GetIndexes(&acquire, true);
+        for (pkgAcquire::ItemIterator item(acquire.ItemsBegin()); item != acquire.ItemsEnd(); item++) {
+            std::string file((*item)->DescURI());
+            files_.insert(file);
+            if (file.length() < sizeof("Packages.bz2") || file.substr(file.length() - sizeof("Packages.bz2")) != "/Packages.bz2")
+                continue;
+            file = file.substr(0, file.length() - 4);
             files_.insert(file);
             files_.insert(file + ".gz");
-            files_.insert(file + ".bz2");
             files_.insert(file + "Index");
-        } delete targets;
+        }
 
         FileFd fd;
         if (!fd.Open(dindex->MetaIndexFile("Release"), FileFd::ReadOnly))