Skip to content

Commit

Permalink
Merge pull request #4897 from kateinoigakukun/pr-49cb54aab4ab471cfedd…
Browse files Browse the repository at this point in the history
…e1f6190c8fe926a40c16

[wasm] Port `CoreFoundation/StringEncodings.subproj`
  • Loading branch information
kateinoigakukun committed Mar 2, 2024
2 parents 64a89bf + 48f2ad0 commit 06c2eec
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 8 deletions.
4 changes: 2 additions & 2 deletions CoreFoundation/StringEncodings.subproj/CFPlatformConverters.c
Expand Up @@ -27,7 +27,7 @@ CF_INLINE bool __CFIsPlatformConverterAvailable(int encoding) {
#endif
}

#if TARGET_OS_MAC || TARGET_OS_WIN32 || TARGET_OS_LINUX
#if TARGET_OS_MAC || TARGET_OS_WIN32 || TARGET_OS_LINUX || TARGET_OS_WASI

static const CFStringEncodingConverter __CFICUBootstrap = {
.toBytes.standard = NULL,
Expand Down Expand Up @@ -65,7 +65,7 @@ CF_PRIVATE const CFStringEncodingConverter *__CFStringEncodingGetExternalConvert
if (__CFIsPlatformConverterAvailable(encoding)) {
return &__CFPlatformBootstrap;
} else {
#if TARGET_OS_MAC || TARGET_OS_WIN32 || TARGET_OS_LINUX
#if TARGET_OS_MAC || TARGET_OS_WIN32 || TARGET_OS_LINUX || TARGET_OS_WASI
if (__CFStringEncodingGetICUName(encoding)) {
return &__CFICUBootstrap;
}
Expand Down
Expand Up @@ -533,7 +533,7 @@ CF_INLINE _CFEncodingConverter *__CFEncodingConverterFromDefinition(const CFStri
converter->toCanonicalUnicode = __CFToCanonicalUnicodeCheapMultiByteWrapper;
break;

#if TARGET_OS_MAC || TARGET_OS_WIN32 || TARGET_OS_LINUX
#if TARGET_OS_MAC || TARGET_OS_WIN32 || TARGET_OS_LINUX || TARGET_OS_WASI
case kCFStringEncodingConverterICU:
converter->toBytes = (_CFToBytesProc)__CFStringEncodingGetICUName(encoding);
break;
Expand Down Expand Up @@ -699,7 +699,7 @@ uint32_t CFStringEncodingUnicodeToBytes(uint32_t encoding, uint32_t flags, const
}
}

#if TARGET_OS_MAC || TARGET_OS_WIN32 || TARGET_OS_LINUX
#if TARGET_OS_MAC || TARGET_OS_WIN32 || TARGET_OS_LINUX || TARGET_OS_WASI
if (kCFStringEncodingConverterICU == converter->definition->encodingClass) return __CFStringEncodingICUToBytes((const char *)converter->toBytes, flags, characters, numChars, usedCharLen, bytes, maxByteLen, usedByteLen);
#endif

Expand Down Expand Up @@ -844,7 +844,7 @@ uint32_t CFStringEncodingBytesToUnicode(uint32_t encoding, uint32_t flags, const

if (!converter) return kCFStringEncodingConverterUnavailable;

#if TARGET_OS_MAC || TARGET_OS_WIN32 || TARGET_OS_LINUX
#if TARGET_OS_MAC || TARGET_OS_WIN32 || TARGET_OS_LINUX || TARGET_OS_WASI
if (kCFStringEncodingConverterICU == converter->definition->encodingClass) return __CFStringEncodingICUToUnicode((const char *)converter->toBytes, flags, bytes, numBytes, usedByteLen, characters, maxCharLen, usedCharLen);
#endif

Expand Down Expand Up @@ -888,7 +888,7 @@ CF_PRIVATE CFIndex CFStringEncodingCharLengthForBytes(uint32_t encoding, uint32_
const _CFEncodingConverter *converter = __CFGetConverter(encoding);

if (converter) {
#if TARGET_OS_MAC || TARGET_OS_WIN32 || TARGET_OS_LINUX
#if TARGET_OS_MAC || TARGET_OS_WIN32 || TARGET_OS_LINUX || TARGET_OS_WASI
if (kCFStringEncodingConverterICU == converter->definition->encodingClass) return __CFStringEncodingICUCharLength((const char *)converter->toBytes, flags, bytes, numBytes);
#endif

Expand Down Expand Up @@ -932,7 +932,7 @@ CF_PRIVATE CFIndex CFStringEncodingByteLengthForCharacters(uint32_t encoding, ui
const _CFEncodingConverter *converter = __CFGetConverter(encoding);

if (converter) {
#if TARGET_OS_MAC || TARGET_OS_WIN32 || TARGET_OS_LINUX
#if TARGET_OS_MAC || TARGET_OS_WIN32 || TARGET_OS_LINUX || TARGET_OS_WASI
if (kCFStringEncodingConverterICU == converter->definition->encodingClass) return __CFStringEncodingICUByteLength((const char *)converter->toBytes, flags, characters, numChars);
#endif

Expand Down Expand Up @@ -1017,7 +1017,7 @@ CF_PRIVATE const CFStringEncoding *CFStringEncodingListOfAvailableEncodings(void
if (NULL == encodings) {
CFStringEncoding *list = (CFStringEncoding *)__CFBuiltinEncodings;
CFIndex numICUConverters = 0, numPlatformConverters = 0;
#if TARGET_OS_MAC || TARGET_OS_WIN32 || TARGET_OS_LINUX
#if TARGET_OS_MAC || TARGET_OS_WIN32 || TARGET_OS_LINUX || TARGET_OS_WASI
CFStringEncoding *icuConverters = __CFStringEncodingCreateICUEncodings(NULL, &numICUConverters);
#else
CFStringEncoding *icuConverters = NULL;
Expand Down

0 comments on commit 06c2eec

Please sign in to comment.