Line | Source | Count |
1 | | - |
2 | | - |
3 | | - |
4 | | - |
5 | | - |
6 | | - |
7 | | - |
8 | | - |
9 | | - |
10 | | - |
11 | | - |
12 | | - |
13 | | - |
14 | | - |
15 | | - |
16 | | - |
17 | | - |
18 | | - |
19 | | - |
20 | | - |
21 | | - |
22 | | - |
23 | | - |
24 | | - |
25 | int rl_byte_oriented = 0; | - |
26 | | - |
27 | | - |
28 | | - |
29 | | - |
30 | | - |
31 | int _rl_utf8locale = 0; | - |
32 | static int | - |
33 | _rl_find_next_mbchar_internal (char *string, int seed, int count, int find_non_zero) | - |
34 | { | - |
35 | size_t tmp, len; | - |
36 | mbstate_t ps; | - |
37 | int point; | - |
38 | wchar_t wc; | - |
39 | | - |
40 | tmp = 0; | - |
41 | | - |
42 | memset(&ps, 0, sizeof (mbstate_t)); | - |
43 | if (seed < 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
44 | seed = 0; never executed: seed = 0; | 0 |
45 | if (count <= 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
46 | return never executed: return seed; seed;never executed: return seed; | 0 |
47 | | - |
48 | point = seed + _rl_adjust_point (string, seed, &ps); | - |
49 | | - |
50 | | - |
51 | if (point == seed - 1TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
52 | return never executed: return seed + 1; seed + 1;never executed: return seed + 1; | 0 |
53 | | - |
54 | | - |
55 | | - |
56 | | - |
57 | if (seed < pointTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
58 | count--; never executed: count--; | 0 |
59 | | - |
60 | while (count > 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
61 | { | - |
62 | len = strlen (string + point); | - |
63 | if (len == 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
64 | break; never executed: break; | 0 |
65 | if (_rl_utf8localeTRUE | never evaluated | FALSE | never evaluated |
&& (((TRUE | never evaluated | FALSE | never evaluated |
string[point]) & 0x80) == 0)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
66 | { | - |
67 | tmp = 1; | - |
68 | wc = (wchar_t) string[point]; | - |
69 | memset(&ps, 0, sizeof(mbstate_t)); | - |
70 | } never executed: end of block | 0 |
71 | else | - |
72 | tmp = mbrtowc (&wc, string+point, len, &ps); never executed: tmp = mbrtowc (&wc, string+point, len, &ps); | 0 |
73 | if ((((TRUE | never evaluated | FALSE | never evaluated |
size_t)tmp) == (size_t)-1TRUE | never evaluated | FALSE | never evaluated |
|| ((TRUE | never evaluated | FALSE | never evaluated |
size_t)tmp) == (size_t)-2TRUE | never evaluated | FALSE | never evaluated |
)) | 0 |
74 | { | - |
75 | | - |
76 | point++; | - |
77 | count--; | - |
78 | | - |
79 | memset(&ps, 0, sizeof(mbstate_t)); | - |
80 | } never executed: end of block | 0 |
81 | else if (((TRUE | never evaluated | FALSE | never evaluated |
tmp) == 0)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
82 | break; never executed: break; | 0 |
83 | else | - |
84 | { | - |
85 | | - |
86 | point += tmp; | - |
87 | if (find_non_zeroTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
88 | { | - |
89 | if (_rl_wcwidth(wc) == 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
90 | continue; never executed: continue; | 0 |
91 | else | - |
92 | count--; never executed: count--; | 0 |
93 | } | - |
94 | else | - |
95 | count--; never executed: count--; | 0 |
96 | } | - |
97 | } | - |
98 | | - |
99 | if (find_non_zeroTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
100 | { | - |
101 | tmp = mbrtowc (&wc, string + point, strlen (string + point), &ps); | - |
102 | while (((TRUE | never evaluated | FALSE | never evaluated |
tmp) == 0) == 0TRUE | never evaluated | FALSE | never evaluated |
&& ((TRUE | never evaluated | FALSE | never evaluated |
tmp) == (size_t)-1TRUE | never evaluated | FALSE | never evaluated |
|| (TRUE | never evaluated | FALSE | never evaluated |
tmp) == (size_t)-2TRUE | never evaluated | FALSE | never evaluated |
) == 0TRUE | never evaluated | FALSE | never evaluated |
&& _rl_wcwidth(wc) == 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
103 | { | - |
104 | point += tmp; | - |
105 | tmp = mbrtowc (&wc, string + point, strlen (string + point), &ps); | - |
106 | } never executed: end of block | 0 |
107 | } never executed: end of block | 0 |
108 | | - |
109 | return never executed: return point; point;never executed: return point; | 0 |
110 | } | - |
111 | | - |
112 | int | - |
113 | _rl_find_prev_mbchar_internal (char *string, int seed, int find_non_zero) | - |
114 | { | - |
115 | mbstate_t ps; | - |
116 | int prev, non_zero_prev, point, length; | - |
117 | size_t tmp; | - |
118 | wchar_t wc; | - |
119 | | - |
120 | memset(&ps, 0, sizeof(mbstate_t)); | - |
121 | length = strlen(string); | - |
122 | | - |
123 | if (seed < 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
124 | return never executed: return 0; 0;never executed: return 0; | 0 |
125 | else if (length < seedTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
126 | return never executed: return length; length;never executed: return length; | 0 |
127 | | - |
128 | prev = non_zero_prev = point = 0; | - |
129 | while (point < seedTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
130 | { | - |
131 | if (_rl_utf8localeTRUE | never evaluated | FALSE | never evaluated |
&& (((TRUE | never evaluated | FALSE | never evaluated |
string[point]) & 0x80) == 0)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
132 | { | - |
133 | tmp = 1; | - |
134 | wc = (wchar_t) string[point]; | - |
135 | memset(&ps, 0, sizeof(mbstate_t)); | - |
136 | } never executed: end of block | 0 |
137 | else | - |
138 | tmp = mbrtowc (&wc, string + point, length - point, &ps); never executed: tmp = mbrtowc (&wc, string + point, length - point, &ps); | 0 |
139 | if ((((TRUE | never evaluated | FALSE | never evaluated |
size_t)tmp) == (size_t)-1TRUE | never evaluated | FALSE | never evaluated |
|| ((TRUE | never evaluated | FALSE | never evaluated |
size_t)tmp) == (size_t)-2TRUE | never evaluated | FALSE | never evaluated |
)) | 0 |
140 | { | - |
141 | | - |
142 | | - |
143 | | - |
144 | tmp = 1; | - |
145 | | - |
146 | | - |
147 | memset(&ps, 0, sizeof (mbstate_t)); | - |
148 | | - |
149 | | - |
150 | | - |
151 | prev = point; | - |
152 | } never executed: end of block | 0 |
153 | else if (((TRUE | never evaluated | FALSE | never evaluated |
tmp) == 0)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
154 | break; never executed: break; | 0 |
155 | else | - |
156 | { | - |
157 | if (find_non_zeroTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
158 | { | - |
159 | if (_rl_wcwidth(wc) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
160 | prev = point; never executed: prev = point; | 0 |
161 | } never executed: end of block | 0 |
162 | else | - |
163 | prev = point; never executed: prev = point; | 0 |
164 | } | - |
165 | | - |
166 | point += tmp; | - |
167 | } never executed: end of block | 0 |
168 | | - |
169 | return never executed: return prev; prev;never executed: return prev; | 0 |
170 | } | - |
171 | | - |
172 | | - |
173 | | - |
174 | | - |
175 | | - |
176 | | - |
177 | int | - |
178 | _rl_get_char_len (char *src, mbstate_t *ps) | - |
179 | { | - |
180 | size_t tmp, l; | - |
181 | int mb_cur_max; | - |
182 | | - |
183 | | - |
184 | l = (size_t)strlen (src); | - |
185 | mb_cur_max = | - |
186 | (__ctype_get_mb_cur_max ()) | - |
187 | ; | - |
188 | tmp = mbrlen((const char *)src, (l < mb_cur_max) ? l : mb_cur_max, ps); | - |
189 | if (tmp == (size_t)(-2)TRUE | never evaluated | FALSE | evaluated 26 times by 1 test |
) | 0-26 |
190 | { | - |
191 | | - |
192 | if (psTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
193 | memset (ps, 0, sizeof(mbstate_t)); never executed: memset (ps, 0, sizeof(mbstate_t)); | 0 |
194 | return never executed: return -2; -2;never executed: return -2; | 0 |
195 | } | - |
196 | else if (tmp == (size_t)(-1)TRUE | never evaluated | FALSE | evaluated 26 times by 1 test |
) | 0-26 |
197 | { | - |
198 | | - |
199 | | - |
200 | if (psTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
201 | memset (ps, 0, sizeof(mbstate_t)); never executed: memset (ps, 0, sizeof(mbstate_t)); | 0 |
202 | return never executed: return -1; -1;never executed: return -1; | 0 |
203 | } | - |
204 | else if (tmp == (size_t)0TRUE | never evaluated | FALSE | evaluated 26 times by 1 test |
) | 0-26 |
205 | return never executed: return 0; 0;never executed: return 0; | 0 |
206 | else | - |
207 | returnexecuted 26 times by 1 test: return (int)tmp; (int)tmp;executed 26 times by 1 test: return (int)tmp; | 26 |
208 | } | - |
209 | | - |
210 | | - |
211 | | - |
212 | int | - |
213 | _rl_compare_chars (char *buf1, int pos1, mbstate_t *ps1, char *buf2, int pos2, mbstate_t *ps2) | - |
214 | { | - |
215 | int i, w1, w2; | - |
216 | | - |
217 | if ((TRUE | never evaluated | FALSE | never evaluated |
w1 = _rl_get_char_len (&buf1[pos1], ps1)) <= 0TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
218 | (TRUE | never evaluated | FALSE | never evaluated |
w2 = _rl_get_char_len (&buf2[pos2], ps2)) <= 0TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
219 | (TRUE | never evaluated | FALSE | never evaluated |
w1 != w2)TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
220 | (TRUE | never evaluated | FALSE | never evaluated |
buf1[pos1] != buf2[pos2])TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
221 | return never executed: return 0; 0;never executed: return 0; | 0 |
222 | | - |
223 | for (i = 1; i < w1TRUE | never evaluated | FALSE | never evaluated |
; i++) | 0 |
224 | if (buf1[pos1+i] != buf2[pos2+i]TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
225 | return never executed: return 0; 0;never executed: return 0; | 0 |
226 | | - |
227 | return never executed: return 1; 1;never executed: return 1; | 0 |
228 | } | - |
229 | | - |
230 | | - |
231 | | - |
232 | | - |
233 | | - |
234 | | - |
235 | int | - |
236 | _rl_adjust_point (char *string, int point, mbstate_t *ps) | - |
237 | { | - |
238 | size_t tmp; | - |
239 | int length, pos; | - |
240 | | - |
241 | tmp = 0; | - |
242 | pos = 0; | - |
243 | length = strlen(string); | - |
244 | if (point < 0TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
) | 0-12 |
245 | return never executed: return -1; -1;never executed: return -1; | 0 |
246 | if (length < pointTRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
) | 0-12 |
247 | return never executed: return -1; -1;never executed: return -1; | 0 |
248 | | - |
249 | while (pos < pointTRUE | evaluated 78 times by 1 test | FALSE | evaluated 12 times by 1 test |
) | 12-78 |
250 | { | - |
251 | if (_rl_utf8localeTRUE | never evaluated | FALSE | evaluated 78 times by 1 test |
&& (((TRUE | never evaluated | FALSE | never evaluated |
string[pos]) & 0x80) == 0)TRUE | never evaluated | FALSE | never evaluated |
) | 0-78 |
252 | tmp = 1; never executed: tmp = 1; | 0 |
253 | else | - |
254 | tmp = mbrlen (string + pos, length - pos, ps);executed 78 times by 1 test: tmp = mbrlen (string + pos, length - pos, ps); | 78 |
255 | if ((((TRUE | never evaluated | FALSE | evaluated 78 times by 1 test |
size_t)tmp) == (size_t)-1TRUE | never evaluated | FALSE | evaluated 78 times by 1 test |
|| ((TRUE | never evaluated | FALSE | evaluated 78 times by 1 test |
size_t)tmp) == (size_t)-2TRUE | never evaluated | FALSE | evaluated 78 times by 1 test |
)) | 0-78 |
256 | { | - |
257 | | - |
258 | | - |
259 | | - |
260 | pos++; | - |
261 | | - |
262 | | - |
263 | if (psTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
264 | memset (ps, 0, sizeof (mbstate_t)); never executed: memset (ps, 0, sizeof (mbstate_t)); | 0 |
265 | } never executed: end of block | 0 |
266 | else if (((TRUE | never evaluated | FALSE | evaluated 78 times by 1 test |
tmp) == 0)TRUE | never evaluated | FALSE | evaluated 78 times by 1 test |
) | 0-78 |
267 | pos++; never executed: pos++; | 0 |
268 | else | - |
269 | pos += tmp;executed 78 times by 1 test: pos += tmp; | 78 |
270 | } | - |
271 | | - |
272 | returnexecuted 12 times by 1 test: return (pos - point); (pos - point);executed 12 times by 1 test: return (pos - point); | 12 |
273 | } | - |
274 | | - |
275 | int | - |
276 | _rl_is_mbchar_matched (char *string, int seed, int end, char *mbchar, int length) | - |
277 | { | - |
278 | int i; | - |
279 | | - |
280 | if ((TRUE | never evaluated | FALSE | never evaluated |
end - seed) < lengthTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
281 | return never executed: return 0; 0;never executed: return 0; | 0 |
282 | | - |
283 | for (i = 0; i < lengthTRUE | never evaluated | FALSE | never evaluated |
; i++) | 0 |
284 | if (string[seed + i] != mbchar[i]TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
285 | return never executed: return 0; 0;never executed: return 0; | 0 |
286 | return never executed: return 1; 1;never executed: return 1; | 0 |
287 | } | - |
288 | | - |
289 | wchar_t | - |
290 | _rl_char_value (char *buf, int ind) | - |
291 | { | - |
292 | size_t tmp; | - |
293 | wchar_t wc; | - |
294 | mbstate_t ps; | - |
295 | int l; | - |
296 | | - |
297 | if ( | - |
298 | 16 TRUE | never evaluated | FALSE | never evaluated |
| 0 |
299 | == 1TRUE | never evaluated | FALSE | never evaluated |
|| rl_byte_orientedTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
300 | return never executed: return ((wchar_t) buf[ind]); ((wchar_t) buf[ind]);never executed: return ((wchar_t) buf[ind]); | 0 |
301 | if (_rl_utf8localeTRUE | never evaluated | FALSE | never evaluated |
&& (((TRUE | never evaluated | FALSE | never evaluated |
buf[ind]) & 0x80) == 0)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
302 | return never executed: return ((wchar_t) buf[ind]); ((wchar_t) buf[ind]);never executed: return ((wchar_t) buf[ind]); | 0 |
303 | l = strlen (buf); | - |
304 | if (ind >= l - 1TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
305 | return never executed: return ((wchar_t) buf[ind]); ((wchar_t) buf[ind]);never executed: return ((wchar_t) buf[ind]); | 0 |
306 | if (l < indTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
307 | l = strlen (buf+ind); never executed: l = strlen (buf+ind); | 0 |
308 | memset (&ps, 0, sizeof (mbstate_t)); | - |
309 | tmp = mbrtowc (&wc, buf + ind, l - ind, &ps); | - |
310 | if (((TRUE | never evaluated | FALSE | never evaluated |
tmp) == (size_t)-1TRUE | never evaluated | FALSE | never evaluated |
|| (TRUE | never evaluated | FALSE | never evaluated |
tmp) == (size_t)-2TRUE | never evaluated | FALSE | never evaluated |
) || ((TRUE | never evaluated | FALSE | never evaluated |
tmp) == 0)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
311 | return never executed: return ((wchar_t) buf[ind]); ((wchar_t) buf[ind]);never executed: return ((wchar_t) buf[ind]); | 0 |
312 | return never executed: return wc; wc;never executed: return wc; | 0 |
313 | } | - |
314 | | - |
315 | | - |
316 | | - |
317 | | - |
318 | | - |
319 | | - |
320 | int | - |
321 | _rl_find_next_mbchar (char *string, int seed, int count, int flags) | - |
322 | { | - |
323 | | - |
324 | return never executed: return _rl_find_next_mbchar_internal (string, seed, count, flags); _rl_find_next_mbchar_internal (string, seed, count, flags);never executed: return _rl_find_next_mbchar_internal (string, seed, count, flags); | 0 |
325 | | - |
326 | | - |
327 | | - |
328 | } | - |
329 | | - |
330 | | - |
331 | | - |
332 | | - |
333 | | - |
334 | int | - |
335 | _rl_find_prev_mbchar (char *string, int seed, int flags) | - |
336 | { | - |
337 | | - |
338 | return never executed: return _rl_find_prev_mbchar_internal (string, seed, flags); _rl_find_prev_mbchar_internal (string, seed, flags);never executed: return _rl_find_prev_mbchar_internal (string, seed, flags); | 0 |
339 | | - |
340 | | - |
341 | | - |
342 | } | - |
| | |