]> git.saurik.com Git - cydia.git/commitdiff
Package::id_ needs to be backed by Cytore, not APT.
authorJay Freeman (saurik) <saurik@saurik.com>
Thu, 2 Dec 2010 02:13:54 +0000 (18:13 -0800)
committerJay Freeman (saurik) <saurik@saurik.com>
Thu, 2 Dec 2010 08:51:36 +0000 (00:51 -0800)
MobileCydia.mm

index 20d82bbc73063e771244db7cbe5d255d47b3ad02..55c8bd55ec6fe220b3e936324b7958d979edd47a 100644 (file)
@@ -2206,7 +2206,6 @@ struct PackageNameOrdering :
         _end
 
         _profile(Package$initWithVersion$Cache)
-            id_.set(NULL, iterator.Name());
             name_.set(NULL, iterator.Display());
 
             latest_.set(NULL, StripVersion_(version_.VerStr()));
@@ -2216,19 +2215,6 @@ struct PackageNameOrdering :
                 installed_.set(NULL, StripVersion_(current.VerStr()));
         _end
 
-        _profile(Package$initWithVersion$Lower)
-            // XXX: do not use tolower() as this is not locale-specific? :(
-            char *data(id_.data());
-            for (size_t i(0), e(id_.size()); i != e; ++i)
-                if ((data[i] & 0x20) == 0) {
-                    id_.copy(pool);
-                    data = id_.data();
-                    for (; i != e; ++i)
-                        data[i] |= 0x20;
-                    break;
-                }
-        _end
-
         _profile(Package$initWithVersion$Tags)
             pkgCache::TagIterator tag(iterator.TagList());
             if (!tag.end()) {
@@ -2253,9 +2239,19 @@ struct PackageNameOrdering :
         _end
 
         _profile(Package$initWithVersion$Metadata)
-            PackageValue *metadata(PackageFind(id_.data(), id_.size()));
+            const char *mixed(iterator.Name());
+            size_t size(strlen(mixed));
+            char lower[size + 1];
+
+            for (size_t i(0); i != size; ++i)
+                lower[i] = mixed[i] | 0x20;
+            lower[size] = '\0';
+
+            PackageValue *metadata(PackageFind(lower, size));
             metadata_ = metadata;
 
+            id_.set(NULL, metadata->name_, size);
+
             const char *latest(version_.VerStr());
             size_t length(strlen(latest));