]> git.saurik.com Git - cydia.git/blobdiff - CyteKit/extern.mm
Do not crash if Safari's Info.plist can't be read.
[cydia.git] / CyteKit / extern.mm
index aad36267d39aab4ca3088eea8df317d95556f88d..cbf3774914d6de6c8e32d967855a109596d41280 100644 (file)
@@ -58,7 +58,7 @@ bool CyteIsReachable(const char *name) {
     ;
 }
 
-void CyteInitialize(NSString *app, NSString *version) {
+void CyteInitialize(NSString *agent) {
     UIScreen *screen([UIScreen mainScreen]);
     if ([screen respondsToSelector:@selector(scale)])
         ScreenScale_ = [screen scale];
@@ -96,14 +96,16 @@ void CyteInitialize(NSString *app, NSString *version) {
         safari = [info objectForKey:@"CFBundleVersion"];
     }
 
-    NSString *agent([NSString stringWithFormat:@"%@/%@ CyF/%.2f", app, version, kCFCoreFoundationVersionNumber]);
+    agent = [NSString stringWithFormat:@"%@ CyF/%.2f", agent, kCFCoreFoundationVersionNumber];
 
-    if (RegEx match = RegEx("([0-9]+(\\.[0-9]+)+).*", safari))
-        agent = [NSString stringWithFormat:@"Safari/%@ %@", match[1], agent];
+    if (safari != nil)
+        if (RegEx match = RegEx("([0-9]+(\\.[0-9]+)+).*", safari))
+            agent = [NSString stringWithFormat:@"Safari/%@ %@", match[1], agent];
     if (RegEx match = RegEx("([0-9]+[A-Z][0-9]+[a-z]?).*", System_))
         agent = [NSString stringWithFormat:@"Mobile/%@ %@", match[1], agent];
-    if (RegEx match = RegEx("([0-9]+(\\.[0-9]+)+).*", product))
-        agent = [NSString stringWithFormat:@"Version/%@ %@", match[1], agent];
+    if (product != nil)
+        if (RegEx match = RegEx("([0-9]+(\\.[0-9]+)+).*", product))
+            agent = [NSString stringWithFormat:@"Version/%@ %@", match[1], agent];
 
     [CyteWebViewController setApplicationNameForUserAgent:agent];
 }