]> git.saurik.com Git - cydia.git/commitdiff
Store Package::latest_ as CYString instead of NSString *.
authorJay Freeman (saurik) <saurik@saurik.com>
Mon, 29 Nov 2010 07:16:08 +0000 (23:16 -0800)
committerJay Freeman (saurik) <saurik@saurik.com>
Tue, 30 Nov 2010 22:37:49 +0000 (14:37 -0800)
MobileCydia.mm

index fab27f13f370f80212b64d0bedccf650f0d9a51f..0ea450c0c1fd0e5fb8eccbbfaf83226c1d458caa 100644 (file)
@@ -790,6 +790,10 @@ class CYString {
     _finline operator id() {
         return (NSString *) static_cast<CFStringRef>(*this);
     }
     _finline operator id() {
         return (NSString *) static_cast<CFStringRef>(*this);
     }
+
+    _finline operator const char *() {
+        return reinterpret_cast<const char *>(data_);
+    }
 };
 /* }}} */
 /* C++ NSString Algorithm Adapters {{{ */
 };
 /* }}} */
 /* C++ NSString Algorithm Adapters {{{ */
@@ -1710,7 +1714,7 @@ typedef std::map< unsigned long, _H<Source> > SourceMap;
     bool essential_;
     bool obsolete_;
 
     bool essential_;
     bool obsolete_;
 
-    NSString *latest_;
+    CYString latest_;
     CYString installed_;
 
     CYString id_;
     CYString installed_;
 
     CYString id_;
@@ -1959,9 +1963,6 @@ struct PackageNameOrdering :
     if (source_ != nil)
         [source_ release];
 
     if (source_ != nil)
         [source_ release];
 
-    if (latest_ != nil)
-        [latest_ release];
-
     if (sponsor$_ != nil)
         [sponsor$_ release];
     if (author$_ != nil)
     if (sponsor$_ != nil)
         [sponsor$_ release];
     if (author$_ != nil)
@@ -2079,8 +2080,7 @@ struct PackageNameOrdering :
         database_ = database;
 
         _profile(Package$initWithVersion$Latest)
         database_ = database;
 
         _profile(Package$initWithVersion$Latest)
-            const char *latest(StripVersion_(version_.VerStr()));
-            latest_ = (NSString *) CFStringCreateWithBytes(kCFAllocatorDefault, reinterpret_cast<const uint8_t *>(latest), strlen(latest), kCFStringEncodingASCII, NO);
+            latest_.set(pool_, StripVersion_(version_.VerStr()));
         _end
 
         pkgCache::VerIterator current;
         _end
 
         pkgCache::VerIterator current;
@@ -2133,7 +2133,7 @@ struct PackageNameOrdering :
 
                 metadata_ = [[NSMutableDictionary dictionaryWithObjectsAndKeys:
                     firstSeen_, @"FirstSeen",
 
                 metadata_ = [[NSMutableDictionary dictionaryWithObjectsAndKeys:
                     firstSeen_, @"FirstSeen",
-                    latest_, @"LastVersion",
+                    static_cast<id>(latest_), @"LastVersion",
                 nil] mutableCopy];
 
                 changed = true;
                 nil] mutableCopy];
 
                 changed = true;