-U_CAPI UBool U_EXPORT2
-utrie2_isFrozen(const UTrie2 *trie) {
- return (UBool)(trie->newTrie==NULL);
-}
-
-U_CAPI int32_t U_EXPORT2
-utrie2_serialize(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;
-}
-