| 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 < 0| TRUE | never evaluated | | FALSE | never evaluated |
) | 0 |
| 44 | seed = 0; never executed: seed = 0; | 0 |
| 45 | if (count <= 0| TRUE | 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 - 1| TRUE | 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 < point| TRUE | never evaluated | | FALSE | never evaluated |
) | 0 |
| 58 | count--; never executed: count--; | 0 |
| 59 | | - |
| 60 | while (count > 0| TRUE | never evaluated | | FALSE | never evaluated |
) | 0 |
| 61 | { | - |
| 62 | len = strlen (string + point); | - |
| 63 | if (len == 0| TRUE | never evaluated | | FALSE | never evaluated |
) | 0 |
| 64 | break; never executed: break; | 0 |
| 65 | if (_rl_utf8locale| TRUE | 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)-1| TRUE | never evaluated | | FALSE | never evaluated |
|| ((| TRUE | never evaluated | | FALSE | never evaluated |
size_t)tmp) == (size_t)-2| TRUE | 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_zero| TRUE | never evaluated | | FALSE | never evaluated |
) | 0 |
| 88 | { | - |
| 89 | if (_rl_wcwidth(wc) == 0| TRUE | 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_zero| TRUE | 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) == 0| TRUE | never evaluated | | FALSE | never evaluated |
&& ((| TRUE | never evaluated | | FALSE | never evaluated |
tmp) == (size_t)-1| TRUE | never evaluated | | FALSE | never evaluated |
|| (| TRUE | never evaluated | | FALSE | never evaluated |
tmp) == (size_t)-2| TRUE | never evaluated | | FALSE | never evaluated |
) == 0| TRUE | never evaluated | | FALSE | never evaluated |
&& _rl_wcwidth(wc) == 0| TRUE | 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 < 0| TRUE | never evaluated | | FALSE | never evaluated |
) | 0 |
| 124 | return never executed: return 0; 0;never executed: return 0; | 0 |
| 125 | else if (length < seed| TRUE | 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 < seed| TRUE | never evaluated | | FALSE | never evaluated |
) | 0 |
| 130 | { | - |
| 131 | if (_rl_utf8locale| TRUE | 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)-1| TRUE | never evaluated | | FALSE | never evaluated |
|| ((| TRUE | never evaluated | | FALSE | never evaluated |
size_t)tmp) == (size_t)-2| TRUE | 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_zero| TRUE | never evaluated | | FALSE | never evaluated |
) | 0 |
| 158 | { | - |
| 159 | if (_rl_wcwidth(wc) != 0| TRUE | 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 (ps| TRUE | 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 (ps| TRUE | 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)0| TRUE | 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)) <= 0| TRUE | never evaluated | | FALSE | never evaluated |
|| | 0 |
| 218 | (| TRUE | never evaluated | | FALSE | never evaluated |
w2 = _rl_get_char_len (&buf2[pos2], ps2)) <= 0| TRUE | 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 < w1| TRUE | 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 < 0| TRUE | 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 < point| TRUE | 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 < point| TRUE | evaluated 78 times by 1 test | | FALSE | evaluated 12 times by 1 test |
) | 12-78 |
| 250 | { | - |
| 251 | if (_rl_utf8locale| TRUE | 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)-1| TRUE | never evaluated | | FALSE | evaluated 78 times by 1 test |
|| ((| TRUE | never evaluated | | FALSE | evaluated 78 times by 1 test |
size_t)tmp) == (size_t)-2| TRUE | never evaluated | | FALSE | evaluated 78 times by 1 test |
)) | 0-78 |
| 256 | { | - |
| 257 | | - |
| 258 | | - |
| 259 | | - |
| 260 | pos++; | - |
| 261 | | - |
| 262 | | - |
| 263 | if (ps| TRUE | 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) < length| TRUE | never evaluated | | FALSE | never evaluated |
) | 0 |
| 281 | return never executed: return 0; 0;never executed: return 0; | 0 |
| 282 | | - |
| 283 | for (i = 0; i < length| TRUE | 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 | == 1| TRUE | never evaluated | | FALSE | never evaluated |
|| rl_byte_oriented| TRUE | 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_utf8locale| TRUE | 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 - 1| TRUE | 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 < ind| TRUE | 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)-1| TRUE | never evaluated | | FALSE | never evaluated |
|| (| TRUE | never evaluated | | FALSE | never evaluated |
tmp) == (size_t)-2| TRUE | 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 | } | - |
| | |