diff --git a/Audio/Plugin.h b/Audio/Plugin.h index b8ac14b3b..61e47ab5a 100644 --- a/Audio/Plugin.h +++ b/Audio/Plugin.h @@ -112,13 +112,21 @@ static NSString *guess_encoding_of_string(const char *input) { NSString *ret = @""; - @try { - ret = [NSString stringWithUTF8String:input]; - } - @catch(NSException *e) { - // This method is incredibly slow - NSData *stringData = [NSData dataWithBytes:input length:strlen(input)]; - [NSString stringEncodingForData:stringData encodingOptions:nil convertedString:&ret usedLossyConversion:nil]; + if(input && *input) { + @try { + ret = [NSString stringWithUTF8String:input]; + } + @catch(NSException *e) { + ret = nil; + } + if(!ret) { + // This method is incredibly slow + NSData *stringData = [NSData dataWithBytes:input length:strlen(input)]; + [NSString stringEncodingForData:stringData encodingOptions:nil convertedString:&ret usedLossyConversion:nil]; + if(!ret) { + ret = @""; + } + } } return ret; }