Home | History | Annotate | Download | only in i18n

Lines Matching defs:aiter

80 static void ures_a_open(UResourceBundleAIterator *aiter, UResourceBundle *bund, UErrorCode *status) {
84 aiter->bund = bund;
85 aiter->num = ures_getSize(aiter->bund);
86 aiter->cursor = 0;
88 aiter->entries = NULL;
90 aiter->entries = (UResAEntry*)uprv_malloc(sizeof(UResAEntry)*aiter->num);
91 for(int i=0;i<aiter->num;i++) {
92 aiter->entries[i].item = ures_getByIndex(aiter->bund, i, NULL, status);
93 const char *akey = ures_getKey(aiter->entries[i].item);
95 aiter->entries[i].key = (UChar*)uprv_malloc(len*sizeof(UChar));
96 u_charsToUChars(akey, aiter->entries[i].key, len);
98 uprv_sortArray(aiter->entries, aiter->num, sizeof(UResAEntry), ures_a_codepointSort, NULL, TRUE, status);
102 static void ures_a_close(UResourceBundleAIterator *aiter) {
104 for(int i=0;i<aiter->num;i++) {
105 uprv_free(aiter->entries[i].key);
106 ures_close(aiter->entries[i].item);
111 static const UChar *ures_a_getNextString(UResourceBundleAIterator *aiter, int32_t *len, const char **key, UErrorCode *err) {
113 return ures_getNextString(aiter->bund, len, key, err);
116 UResourceBundle *item = aiter->entries[aiter->cursor].item;
119 aiter->cursor++;
629 UResourceBundleAIterator aiter;
630 ures_a_open(&aiter, patBundle, &err);
634 retPattern=ures_a_getNextString(&aiter, &len, &key, &err);
648 ures_a_close(&aiter);