]> git.saurik.com Git - cydia.git/blobdiff - MobileCydia.mm
Use ProcessArguments to get argv[0] (for iOS 3.0).
[cydia.git] / MobileCydia.mm
index 968a67a0d42b7f60fdccc56b7bec8f4cce76d9b7..86e6a6f26841a1b59e23ed5d984de79fdd038bac 100644 (file)
@@ -4089,11 +4089,17 @@ class CydiaLogCleaner :
 
     delock_ = nil;
 
+    pkgPackageManager::OrderResult result(manager_->DoInstall(statusfd_));
+
     NSString *oextended(@"/var/lib/apt/extended_states");
     NSString *nextended(Cache("extended_states"));
-    pkgPackageManager::OrderResult result(manager_->DoInstall(statusfd_));
-    system([[NSString stringWithFormat:@"/usr/libexec/cydia/cydo /bin/mv -f %@ %@", nextended, oextended] UTF8String]);
-    system([[NSString stringWithFormat:@"/usr/libexec/cydia/cydo /bin/chown 0:0 %@", oextended] UTF8String]);
+
+    struct stat info;
+    if (stat([nextended UTF8String], &info) != -1 && (info.st_mode & S_IFMT) == S_IFREG) {
+        system([[NSString stringWithFormat:@"/usr/libexec/cydia/cydo /bin/mv -f %@ %@", nextended, oextended] UTF8String]);
+        system([[NSString stringWithFormat:@"/usr/libexec/cydia/cydo /bin/chown 0:0 %@", oextended] UTF8String]);
+    }
+
     unlink([nextended UTF8String]);
     symlink([oextended UTF8String], [nextended UTF8String]);