• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10.1/gnutar-453/gnutar/lib/

Lines Matching refs:iter

25       char *iter;
26 for (iter = buf; *iter != '\0'; iter++)
28 do_something (*iter);
33 mbui_iterator_t iter;
34 for (mbui_init (iter, buf); mbui_avail (iter); mbui_advance (iter))
36 do_something (mbui_cur_ptr (iter), mb_len (mbui_cur (iter)));
55 mbui_init (iter, startptr)
58 mbui_avail (iter)
60 the end of string is reached. In this case, mbui_cur (iter) is
63 mbui_advance (iter)
66 mbui_cur (iter)
70 mbui_cur_ptr (iter)
73 mbui_reloc (iter, ptrdiff)
81 extern void mbui_init (mbui_iterator_t iter, const char *startptr);
82 extern bool mbui_avail (mbui_iterator_t iter);
83 extern void mbui_advance (mbui_iterator_t iter);
84 extern mbchar_t mbui_cur (mbui_iterator_t iter);
85 extern const char * mbui_cur_ptr (mbui_iterator_t iter);
86 extern void mbui_reloc (mbui_iterator_t iter, ptrdiff_t ptrdiff);
124 mbuiter_multi_next (struct mbuiter_multi *iter)
126 if (iter->next_done)
128 if (iter->in_shift)
131 if (is_basic (*iter->cur.ptr))
136 iter->cur.bytes = 1;
137 iter->cur.wc = *iter->cur.ptr;
138 iter->cur.wc_valid = true;
142 assert (mbsinit (&iter->state));
143 iter->in_shift = true;
145 iter->cur.bytes = mbrtowc (&iter->cur.wc, iter->cur.ptr,
146 strnlen1 (iter->cur.ptr, MB_CUR_MAX),
147 &iter->state);
148 if (iter->cur.bytes == (size_t) -1)
151 iter->cur.bytes = 1;
152 iter->cur.wc_valid = false;
153 /* Whether to set iter->in_shift = false and reset iter->state
156 else if (iter->cur.bytes == (size_t) -2)
159 iter->cur.bytes = strlen (iter->cur.ptr);
160 iter->cur.wc_valid = false;
161 /* Whether to set iter->in_shift = false and reset iter->state
166 if (iter->cur.bytes == 0)
169 iter->cur.bytes = 1;
170 assert (*iter->cur.ptr == '\0');
171 assert (iter->cur.wc == 0);
173 iter->cur.wc_valid = true;
177 if (mbsinit (&iter->state))
178 iter->in_shift = false;
181 iter->next_done = true;
185 mbuiter_multi_reloc (struct mbuiter_multi *iter, ptrdiff_t ptrdiff)
187 iter->cur.ptr += ptrdiff;
203 #define mbui_init(iter, startptr) \
204 ((iter).cur.ptr = (startptr), \
205 (iter).in_shift = false, memset (&(iter).state, '\0', sizeof (mbstate_t)), \
206 (iter).next_done = false)
207 #define mbui_avail(iter) \
208 (mbuiter_multi_next (&(iter)), !mb_isnul ((iter).cur))
209 #define mbui_advance(iter) \
210 ((iter).cur.ptr += (iter).cur.bytes, (iter).next_done = false)
213 #define mbui_cur(iter) (iter).cur
214 #define mbui_cur_ptr(iter) (iter).cur.ptr
217 #define mbui_reloc(iter, ptrdiff) mbuiter_multi_reloc (&iter, ptrdiff)