]> git.saurik.com Git - cydia.git/commitdiff
Make CFCString() accept non-UTF8 data without horrible error.
authorJay Freeman (saurik) <saurik@saurik.com>
Tue, 16 Nov 2010 00:00:23 +0000 (16:00 -0800)
committerJay Freeman (saurik) <saurik@saurik.com>
Tue, 16 Nov 2010 07:17:10 +0000 (23:17 -0800)
MobileCydia.mm

index 8b0ae70756d962e9a7a564f2f04545b8c3042bb0..03d76f5593228a603391ba8f50fa3684fd1a3b9a 100644 (file)
@@ -1070,7 +1070,11 @@ NSString *SizeString(double size) {
 }
 
 static _finline CFStringRef CFCString(const char *value) {
 }
 
 static _finline CFStringRef CFCString(const char *value) {
-    return CFStringCreateWithBytesNoCopy(kCFAllocatorDefault, reinterpret_cast<const uint8_t *>(value), strlen(value), kCFStringEncodingUTF8, NO, kCFAllocatorNull);
+    size_t size(strlen(data));
+
+    return
+        CFStringCreateWithBytesNoCopy(kCFAllocatorDefault, reinterpret_cast<const uint8_t *>(data), size, kCFStringEncodingUTF8, NO, kCFAllocatorNull) ?:
+        CFStringCreateWithBytesNoCopy(kCFAllocatorDefault, reinterpret_cast<const uint8_t *>(data), size, kCFStringEncodingISOLatin1, NO, kCFAllocatorNull);
 }
 
 const char *StripVersion_(const char *version) {
 }
 
 const char *StripVersion_(const char *version) {