]> git.saurik.com Git - apple/cf.git/blobdiff - CFUnicodeDecomposition.c
CF-1153.18.tar.gz
[apple/cf.git] / CFUnicodeDecomposition.c
index 592bb340502690dcdb66c5a6e0d53c7b5f3d2e49..1f3bd1d30f20a423acdf46b93b7ef0cef2a805ff 100644 (file)
@@ -1,15 +1,15 @@
 /*
 /*
- * Copyright (c) 2011 Apple Inc. All rights reserved.
+ * Copyright (c) 2015 Apple Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  *
  * @APPLE_LICENSE_HEADER_START@
- * 
+ *
  * This file contains Original Code and/or Modifications of Original Code
  * as defined in and that are subject to the Apple Public Source License
  * Version 2.0 (the 'License'). You may not use this file except in
  * compliance with the License. Please obtain a copy of the License at
  * http://www.opensource.apple.com/apsl/ and read it before using this
  * file.
  * This file contains Original Code and/or Modifications of Original Code
  * as defined in and that are subject to the Apple Public Source License
  * Version 2.0 (the 'License'). You may not use this file except in
  * compliance with the License. Please obtain a copy of the License at
  * http://www.opensource.apple.com/apsl/ and read it before using this
  * file.
- * 
+ *
  * The Original Code and all software distributed under the License are
  * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  * The Original Code and all software distributed under the License are
  * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  * Please see the License for the specific language governing rights and
  * limitations under the License.
  * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  * Please see the License for the specific language governing rights and
  * limitations under the License.
- * 
+ *
  * @APPLE_LICENSE_HEADER_END@
  */
 
 /*    CFUnicodeDecomposition.c
  * @APPLE_LICENSE_HEADER_END@
  */
 
 /*    CFUnicodeDecomposition.c
-    Copyright (c) 1999-2011, Apple Inc. All rights reserved.
+    Copyright (c) 1999-2014, Apple Inc. All rights reserved.
     Responsibility: Aki Inoue
 */
 
     Responsibility: Aki Inoue
 */
 
@@ -42,20 +42,20 @@ static UTF32Char *__CFUniCharMultipleDecompositionTable = NULL;
 static const uint8_t *__CFUniCharDecomposableBitmapForBMP = NULL;
 static const uint8_t *__CFUniCharHFSPlusDecomposableBitmapForBMP = NULL;
 
 static const uint8_t *__CFUniCharDecomposableBitmapForBMP = NULL;
 static const uint8_t *__CFUniCharHFSPlusDecomposableBitmapForBMP = NULL;
 
-static CFSpinLock_t __CFUniCharDecompositionTableLock = CFSpinLockInit;
+static CFLock_t __CFUniCharDecompositionTableLock = CFLockInit;
 
 static const uint8_t **__CFUniCharCombiningPriorityTable = NULL;
 static uint8_t __CFUniCharCombiningPriorityTableNumPlane = 0;
 
 static void __CFUniCharLoadDecompositionTable(void) {
 
 
 static const uint8_t **__CFUniCharCombiningPriorityTable = NULL;
 static uint8_t __CFUniCharCombiningPriorityTableNumPlane = 0;
 
 static void __CFUniCharLoadDecompositionTable(void) {
 
-    __CFSpinLock(&__CFUniCharDecompositionTableLock);
+    __CFLock(&__CFUniCharDecompositionTableLock);
 
     if (NULL == __CFUniCharDecompositionTable) {
         const uint32_t *bytes = (uint32_t *)CFUniCharGetMappingData(kCFUniCharCanonicalDecompMapping);
 
         if (NULL == bytes) {
 
     if (NULL == __CFUniCharDecompositionTable) {
         const uint32_t *bytes = (uint32_t *)CFUniCharGetMappingData(kCFUniCharCanonicalDecompMapping);
 
         if (NULL == bytes) {
-            __CFSpinUnlock(&__CFUniCharDecompositionTableLock);
+            __CFUnlock(&__CFUniCharDecompositionTableLock);
             return;
         }
 
             return;
         }
 
@@ -74,23 +74,23 @@ static void __CFUniCharLoadDecompositionTable(void) {
         for (idx = 0;idx < __CFUniCharCombiningPriorityTableNumPlane;idx++) __CFUniCharCombiningPriorityTable[idx] = (const uint8_t *)CFUniCharGetUnicodePropertyDataForPlane(kCFUniCharCombiningProperty, idx);
     }
 
         for (idx = 0;idx < __CFUniCharCombiningPriorityTableNumPlane;idx++) __CFUniCharCombiningPriorityTable[idx] = (const uint8_t *)CFUniCharGetUnicodePropertyDataForPlane(kCFUniCharCombiningProperty, idx);
     }
 
-    __CFSpinUnlock(&__CFUniCharDecompositionTableLock);
+    __CFUnlock(&__CFUniCharDecompositionTableLock);
 }
 
 }
 
-static CFSpinLock_t __CFUniCharCompatibilityDecompositionTableLock = CFSpinLockInit;
+static CFLock_t __CFUniCharCompatibilityDecompositionTableLock = CFLockInit;
 static UTF32Char *__CFUniCharCompatibilityDecompositionTable = NULL;
 static uint32_t __CFUniCharCompatibilityDecompositionTableLength = 0;
 static UTF32Char *__CFUniCharCompatibilityMultipleDecompositionTable = NULL;
 
 static void __CFUniCharLoadCompatibilityDecompositionTable(void) {
 
 static UTF32Char *__CFUniCharCompatibilityDecompositionTable = NULL;
 static uint32_t __CFUniCharCompatibilityDecompositionTableLength = 0;
 static UTF32Char *__CFUniCharCompatibilityMultipleDecompositionTable = NULL;
 
 static void __CFUniCharLoadCompatibilityDecompositionTable(void) {
 
-    __CFSpinLock(&__CFUniCharCompatibilityDecompositionTableLock);
+    __CFLock(&__CFUniCharCompatibilityDecompositionTableLock);
 
     if (NULL == __CFUniCharCompatibilityDecompositionTable) {
         const uint32_t *bytes = (uint32_t *)CFUniCharGetMappingData(kCFUniCharCompatibilityDecompMapping);
 
         if (NULL == bytes) {
 
     if (NULL == __CFUniCharCompatibilityDecompositionTable) {
         const uint32_t *bytes = (uint32_t *)CFUniCharGetMappingData(kCFUniCharCompatibilityDecompMapping);
 
         if (NULL == bytes) {
-            __CFSpinUnlock(&__CFUniCharCompatibilityDecompositionTableLock);
+            __CFUnlock(&__CFUniCharCompatibilityDecompositionTableLock);
             return;
         }
 
             return;
         }
 
@@ -101,7 +101,7 @@ static void __CFUniCharLoadCompatibilityDecompositionTable(void) {
         __CFUniCharCompatibilityDecompositionTableLength /= (sizeof(uint32_t) * 2);
     }
 
         __CFUniCharCompatibilityDecompositionTableLength /= (sizeof(uint32_t) * 2);
     }
 
-    __CFSpinUnlock(&__CFUniCharCompatibilityDecompositionTableLock);
+    __CFUnlock(&__CFUniCharCompatibilityDecompositionTableLock);
 }
 
 CF_INLINE bool __CFUniCharIsDecomposableCharacterWithFlag(UTF32Char character, bool isHFSPlus) {
 }
 
 CF_INLINE bool __CFUniCharIsDecomposableCharacterWithFlag(UTF32Char character, bool isHFSPlus) {
@@ -357,7 +357,7 @@ CF_INLINE void __CFUniCharMoveBufferFromEnd1(UTF32Char *convertedChars, CFIndex
     while (convertedChars > limit) *(--dstP) = *(--convertedChars);
 }
 
     while (convertedChars > limit) *(--dstP) = *(--convertedChars);
 }
 
-__private_extern__ CFIndex CFUniCharCompatibilityDecompose(UTF32Char *convertedChars, CFIndex length, CFIndex maxBufferLength) {
+CF_PRIVATE CFIndex CFUniCharCompatibilityDecompose(UTF32Char *convertedChars, CFIndex length, CFIndex maxBufferLength) {
     UTF32Char currentChar;
     UTF32Char buffer[MAX_COMP_DECOMP_LEN];
     const UTF32Char *bufferP;
     UTF32Char currentChar;
     UTF32Char buffer[MAX_COMP_DECOMP_LEN];
     const UTF32Char *bufferP;