CF_PRIVATE const CFStringEncodingConverter *__CFStringEncodingGetExternalConverter(uint32_t encoding) { // we prefer Text Encoding Converter ICU since it's more reliable if (__CFIsPlatformConverterAvailable(encoding)) { return &__CFPlatformBootstrap; } else { #if DEPLOYMENT_TARGET_MACOSX || DEPLOYMENT_TARGET_EMBEDDED || DEPLOYMENT_TARGET_WINDOWS || DEPLOYMENT_TARGET_LINUX if (__CFStringEncodingGetICUName(encoding)) { return &__CFICUBootstrap; } #endif return NULL; } }
__private_extern__ const CFStringEncodingConverter *__CFStringEncodingGetExternalConverter(uint32_t encoding) { if (NULL != __CFStringEncodingGetICUName(encoding)) return &__CFICUBootstrap; return (__CFIsPlatformConverterAvailable(encoding) ? &__CFPlatformBootstrap : NULL); }
__private_extern__ const CFStringEncodingConverter *__CFStringEncodingGetExternalConverter(uint32_t encoding) { return (__CFIsPlatformConverterAvailable(encoding) ? &__CFPlatformBootstrap : (__CFStringEncodingGetICUName(encoding) ? &__CFICUBootstrap : NULL)); // we prefer Text Encoding Converter ICU since it's more reliable }