]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/common/ustr_cnv.c
ICU-461.12.tar.gz
[apple/icu.git] / icuSources / common / ustr_cnv.c
index 05d10258658c2267dbd802461f8ad5adee71c406..0f11991258e6b265aa426aa90a1421b90044d4cd 100644 (file)
@@ -1,7 +1,7 @@
 /*
 *******************************************************************************
 *
-*   Copyright (C) 1998-2004, International Business Machines
+*   Copyright (C) 1998-2010, International Business Machines
 *   Corporation and others.  All Rights Reserved.
 *
 *******************************************************************************
@@ -80,6 +80,29 @@ u_releaseDefaultConverter(UConverter *converter)
     }
 }
 
+U_CAPI void U_EXPORT2
+u_flushDefaultConverter()
+{
+    UConverter *converter = NULL;
+    
+    if (gDefaultConverter != NULL) {
+        umtx_lock(NULL);
+        
+        /* need to check to make sure it wasn't taken out from under us */
+        if (gDefaultConverter != NULL) {
+            converter = gDefaultConverter;
+            gDefaultConverter = NULL;
+        }
+        umtx_unlock(NULL);
+    }
+
+    /* if the cache was populated, flush it */
+    if(converter != NULL) {
+         ucnv_close(converter);
+    }
+}
+
+
 /* conversions between char* and UChar* ------------------------------------- */
 
 /* maximum string length for u_uastrcpy() and u_austrcpy() implementations */