| Index: source/common/utrie2.cpp
|
| diff --git a/source/common/utrie2.cpp b/source/common/utrie2.cpp
|
| index 86b6a774557622ba8783ca0652147fe87a73040b..5f873c5cac08257b0359ff634d91e062123e8093 100644
|
| --- a/source/common/utrie2.cpp
|
| +++ b/source/common/utrie2.cpp
|
| @@ -1,7 +1,7 @@
|
| /*
|
| ******************************************************************************
|
| *
|
| -* Copyright (C) 2001-2013, International Business Machines
|
| +* Copyright (C) 2001-2014, International Business Machines
|
| * Corporation and others. All Rights Reserved.
|
| *
|
| ******************************************************************************
|
| @@ -399,6 +399,35 @@ utrie2_getVersion(const void *data, int32_t length, UBool anyEndianOk) {
|
| return 0;
|
| }
|
|
|
| +U_CAPI UBool U_EXPORT2
|
| +utrie2_isFrozen(const UTrie2 *trie) {
|
| + return (UBool)(trie->newTrie==NULL);
|
| +}
|
| +
|
| +U_CAPI int32_t U_EXPORT2
|
| +utrie2_serialize(const UTrie2 *trie,
|
| + void *data, int32_t capacity,
|
| + UErrorCode *pErrorCode) {
|
| + /* argument check */
|
| + if(U_FAILURE(*pErrorCode)) {
|
| + return 0;
|
| + }
|
| +
|
| + if( trie==NULL || trie->memory==NULL || trie->newTrie!=NULL ||
|
| + capacity<0 || (capacity>0 && (data==NULL || (U_POINTER_MASK_LSB(data, 3)!=0)))
|
| + ) {
|
| + *pErrorCode=U_ILLEGAL_ARGUMENT_ERROR;
|
| + return 0;
|
| + }
|
| +
|
| + if(capacity>=trie->length) {
|
| + uprv_memcpy(data, trie->memory, trie->length);
|
| + } else {
|
| + *pErrorCode=U_BUFFER_OVERFLOW_ERROR;
|
| + }
|
| + return trie->length;
|
| +}
|
| +
|
| U_CAPI int32_t U_EXPORT2
|
| utrie2_swap(const UDataSwapper *ds,
|
| const void *inData, int32_t length, void *outData,
|
|
|