Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/bash/src/lib/readline/input.c |
Switch to Source code | Preprocessed file |
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 | - | |||||||||||||
26 | - | |||||||||||||
27 | - | |||||||||||||
28 | - | |||||||||||||
29 | - | |||||||||||||
30 | - | |||||||||||||
31 | - | |||||||||||||
32 | - | |||||||||||||
33 | - | |||||||||||||
34 | - | |||||||||||||
35 | extern sigset_t _rl_orig_sigset; | - | ||||||||||||
36 | - | |||||||||||||
37 | - | |||||||||||||
38 | - | |||||||||||||
39 | - | |||||||||||||
40 | rl_hook_func_t *rl_event_hook = (rl_hook_func_t *) | - | ||||||||||||
41 | ((void *)0) | - | ||||||||||||
42 | ; | - | ||||||||||||
43 | - | |||||||||||||
44 | - | |||||||||||||
45 | rl_hook_func_t *rl_signal_event_hook = (rl_hook_func_t *) | - | ||||||||||||
46 | ((void *)0) | - | ||||||||||||
47 | ; | - | ||||||||||||
48 | - | |||||||||||||
49 | - | |||||||||||||
50 | - | |||||||||||||
51 | rl_hook_func_t *rl_input_available_hook = (rl_hook_func_t *) | - | ||||||||||||
52 | ((void *)0) | - | ||||||||||||
53 | ; | - | ||||||||||||
54 | - | |||||||||||||
55 | rl_getc_func_t *rl_getc_function = rl_getc; | - | ||||||||||||
56 | - | |||||||||||||
57 | static int _keyboard_input_timeout = 100000; | - | ||||||||||||
58 | - | |||||||||||||
59 | static int ibuffer_space (void); | - | ||||||||||||
60 | static int rl_get_char (int *); | - | ||||||||||||
61 | static int rl_gather_tyi (void); | - | ||||||||||||
62 | static int pop_index, push_index; | - | ||||||||||||
63 | static unsigned char ibuffer[512]; | - | ||||||||||||
64 | static int ibuffer_len = sizeof (ibuffer) - 1; | - | ||||||||||||
65 | - | |||||||||||||
66 | - | |||||||||||||
67 | - | |||||||||||||
68 | int | - | ||||||||||||
69 | _rl_any_typein (void) | - | ||||||||||||
70 | { | - | ||||||||||||
71 | return never executed: (push_index != pop_index);return (push_index != pop_index); never executed: return (push_index != pop_index); | 0 | ||||||||||||
72 | } | - | ||||||||||||
73 | - | |||||||||||||
74 | int | - | ||||||||||||
75 | _rl_pushed_input_available (void) | - | ||||||||||||
76 | { | - | ||||||||||||
77 | return never executed: (push_index != pop_index);return (push_index != pop_index); never executed: return (push_index != pop_index); | 0 | ||||||||||||
78 | } | - | ||||||||||||
79 | - | |||||||||||||
80 | - | |||||||||||||
81 | - | |||||||||||||
82 | static int | - | ||||||||||||
83 | ibuffer_space (void) | - | ||||||||||||
84 | { | - | ||||||||||||
85 | if (pop_index > push_index
| 0 | ||||||||||||
86 | return never executed: (pop_index - push_index - 1);return (pop_index - push_index - 1); never executed: return (pop_index - push_index - 1); | 0 | ||||||||||||
87 | else | - | ||||||||||||
88 | return never executed: (ibuffer_len - (push_index - pop_index));return (ibuffer_len - (push_index - pop_index)); never executed: return (ibuffer_len - (push_index - pop_index)); | 0 | ||||||||||||
89 | } | - | ||||||||||||
90 | - | |||||||||||||
91 | - | |||||||||||||
92 | - | |||||||||||||
93 | - | |||||||||||||
94 | static int | - | ||||||||||||
95 | rl_get_char (int *key) | - | ||||||||||||
96 | { | - | ||||||||||||
97 | if (push_index == pop_index
| 0 | ||||||||||||
98 | return never executed: (0);return (0); never executed: return (0); | 0 | ||||||||||||
99 | - | |||||||||||||
100 | *key = ibuffer[pop_index++]; | - | ||||||||||||
101 | - | |||||||||||||
102 | - | |||||||||||||
103 | - | |||||||||||||
104 | if (pop_index > ibuffer_len
| 0 | ||||||||||||
105 | - | |||||||||||||
106 | pop_index = 0; never executed: pop_index = 0; | 0 | ||||||||||||
107 | - | |||||||||||||
108 | return never executed: (1);return (1); never executed: return (1); | 0 | ||||||||||||
109 | } | - | ||||||||||||
110 | - | |||||||||||||
111 | - | |||||||||||||
112 | - | |||||||||||||
113 | - | |||||||||||||
114 | int | - | ||||||||||||
115 | _rl_unget_char (int key) | - | ||||||||||||
116 | { | - | ||||||||||||
117 | if (ibuffer_space ()
| 0 | ||||||||||||
118 | { | - | ||||||||||||
119 | pop_index--; | - | ||||||||||||
120 | if (pop_index < 0
| 0 | ||||||||||||
121 | pop_index = ibuffer_len; never executed: pop_index = ibuffer_len; | 0 | ||||||||||||
122 | ibuffer[pop_index] = key; | - | ||||||||||||
123 | return never executed: (1);return (1); never executed: return (1); | 0 | ||||||||||||
124 | } | - | ||||||||||||
125 | return never executed: (0);return (0); never executed: return (0); | 0 | ||||||||||||
126 | } | - | ||||||||||||
127 | - | |||||||||||||
128 | - | |||||||||||||
129 | - | |||||||||||||
130 | - | |||||||||||||
131 | static int | - | ||||||||||||
132 | rl_gather_tyi (void) | - | ||||||||||||
133 | { | - | ||||||||||||
134 | int tty; | - | ||||||||||||
135 | register int tem, result; | - | ||||||||||||
136 | int chars_avail, k; | - | ||||||||||||
137 | char input; | - | ||||||||||||
138 | - | |||||||||||||
139 | fd_set readfds, exceptfds; | - | ||||||||||||
140 | struct timeval timeout; | - | ||||||||||||
141 | - | |||||||||||||
142 | - | |||||||||||||
143 | chars_avail = 0; | - | ||||||||||||
144 | input = 0; | - | ||||||||||||
145 | tty = fileno (rl_instream); | - | ||||||||||||
146 | - | |||||||||||||
147 | - | |||||||||||||
148 | - | |||||||||||||
149 | do { int __d0, __d1; __asm__ __volatile__ ("cld; rep; " "stosq" : "=c" (__d0), "=D" (__d1) : "a" (0), "0" (sizeof (fd_set) / sizeof (__fd_mask)), "1" (&(( | - | ||||||||||||
150 | &readfds | - | ||||||||||||
151 | )->fds_bits)[0]) : "memory"); } while (0) | - | ||||||||||||
152 | ; | - | ||||||||||||
153 | - | |||||||||||||
154 | do { int __d0, __d1; __asm__ __volatile__ ("cld; rep; " "stosq" : "=c" (__d0), "=D" (__d1) : "a" (0), "0" (sizeof (fd_set) / sizeof (__fd_mask)), "1" (&(( | - | ||||||||||||
155 | &exceptfds | - | ||||||||||||
156 | )->fds_bits)[0]) : "memory"); } while (0) | - | ||||||||||||
157 | ; | - | ||||||||||||
158 | - | |||||||||||||
159 | ((void) ((( | - | ||||||||||||
160 | &readfds | - | ||||||||||||
161 | )->fds_bits)[(( | - | ||||||||||||
162 | tty | - | ||||||||||||
163 | ) / (8 * (int) sizeof (__fd_mask)))] |= ((__fd_mask) (1UL << (( | - | ||||||||||||
164 | tty | - | ||||||||||||
165 | ) % (8 * (int) sizeof (__fd_mask))))))) | - | ||||||||||||
166 | ; | - | ||||||||||||
167 | - | |||||||||||||
168 | ((void) ((( | - | ||||||||||||
169 | &exceptfds | - | ||||||||||||
170 | )->fds_bits)[(( | - | ||||||||||||
171 | tty | - | ||||||||||||
172 | ) / (8 * (int) sizeof (__fd_mask)))] |= ((__fd_mask) (1UL << (( | - | ||||||||||||
173 | tty | - | ||||||||||||
174 | ) % (8 * (int) sizeof (__fd_mask))))))) | - | ||||||||||||
175 | ; | - | ||||||||||||
176 | do { (timeout).tv_sec = (_keyboard_input_timeout) / 1000000; (timeout).tv_usec = (_keyboard_input_timeout) % 1000000; } while (0); | - | ||||||||||||
177 | result = select (tty + 1, &readfds, (fd_set *) | - | ||||||||||||
178 | ((void *)0) | - | ||||||||||||
179 | , &exceptfds, &timeout); | - | ||||||||||||
180 | if (result <= 0
| 0 | ||||||||||||
181 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||
182 | - | |||||||||||||
183 | - | |||||||||||||
184 | result = -1; | - | ||||||||||||
185 | - | |||||||||||||
186 | (*__errno_location ()) | - | ||||||||||||
187 | = 0; | - | ||||||||||||
188 | - | |||||||||||||
189 | result = ioctl (tty, | - | ||||||||||||
190 | 0x541B | - | ||||||||||||
191 | , &chars_avail); | - | ||||||||||||
192 | if (result == -1
| 0 | ||||||||||||
193 | (*
| 0 | ||||||||||||
194 | ==
| 0 | ||||||||||||
195 | 5
| 0 | ||||||||||||
196 | ) | - | ||||||||||||
197 | return never executed: -1;return -1; never executed: return -1; | 0 | ||||||||||||
198 | if (result == -1
| 0 | ||||||||||||
199 | chars_avail = 0; never executed: chars_avail = 0; | 0 | ||||||||||||
200 | - | |||||||||||||
201 | - | |||||||||||||
202 | - | |||||||||||||
203 | if (result == -1
| 0 | ||||||||||||
204 | { | - | ||||||||||||
205 | tem = fcntl (tty, | - | ||||||||||||
206 | 3 | - | ||||||||||||
207 | , 0); | - | ||||||||||||
208 | - | |||||||||||||
209 | fcntl (tty, | - | ||||||||||||
210 | 4 | - | ||||||||||||
211 | , (tem | | - | ||||||||||||
212 | 04000 | - | ||||||||||||
213 | )); | - | ||||||||||||
214 | chars_avail = read (tty, &input, 1); | - | ||||||||||||
215 | - | |||||||||||||
216 | fcntl (tty, | - | ||||||||||||
217 | 4 | - | ||||||||||||
218 | , tem); | - | ||||||||||||
219 | if (chars_avail == -1
| 0 | ||||||||||||
220 | (*
| 0 | ||||||||||||
221 | ==
| 0 | ||||||||||||
222 | 11
| 0 | ||||||||||||
223 | ) | - | ||||||||||||
224 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||
225 | if (chars_avail == -1
| 0 | ||||||||||||
226 | (*
| 0 | ||||||||||||
227 | ==
| 0 | ||||||||||||
228 | 5
| 0 | ||||||||||||
229 | ) | - | ||||||||||||
230 | return never executed: -1;return -1; never executed: return -1; | 0 | ||||||||||||
231 | if (chars_avail == 0
| 0 | ||||||||||||
232 | { | - | ||||||||||||
233 | rl_stuff_char ( | - | ||||||||||||
234 | (-1) | - | ||||||||||||
235 | ); | - | ||||||||||||
236 | return never executed: (0);return (0); never executed: return (0); | 0 | ||||||||||||
237 | } | - | ||||||||||||
238 | } never executed: end of block | 0 | ||||||||||||
239 | if (chars_avail <= 0
| 0 | ||||||||||||
240 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||
241 | - | |||||||||||||
242 | tem = ibuffer_space (); | - | ||||||||||||
243 | - | |||||||||||||
244 | if (chars_avail > tem
| 0 | ||||||||||||
245 | chars_avail = tem; never executed: chars_avail = tem; | 0 | ||||||||||||
246 | - | |||||||||||||
247 | - | |||||||||||||
248 | - | |||||||||||||
249 | - | |||||||||||||
250 | - | |||||||||||||
251 | if (tem < ibuffer_len
| 0 | ||||||||||||
252 | chars_avail = 0; never executed: chars_avail = 0; | 0 | ||||||||||||
253 | - | |||||||||||||
254 | if (result != -1
| 0 | ||||||||||||
255 | { | - | ||||||||||||
256 | while (chars_avail--
| 0 | ||||||||||||
257 | { | - | ||||||||||||
258 | do { if (_rl_caught_signal
never executed: } while (0);_rl_signal_handler (_rl_caught_signal); | 0 | ||||||||||||
259 | k = (*rl_getc_function) (rl_instream); | - | ||||||||||||
260 | if (rl_stuff_char (k) == 0
| 0 | ||||||||||||
261 | break; never executed: break; | 0 | ||||||||||||
262 | if (k == '\n'
| 0 | ||||||||||||
263 | break; never executed: break; | 0 | ||||||||||||
264 | } never executed: end of block | 0 | ||||||||||||
265 | } never executed: end of block | 0 | ||||||||||||
266 | else | - | ||||||||||||
267 | { | - | ||||||||||||
268 | if (chars_avail
| 0 | ||||||||||||
269 | rl_stuff_char (input); never executed: rl_stuff_char (input); | 0 | ||||||||||||
270 | } never executed: end of block | 0 | ||||||||||||
271 | - | |||||||||||||
272 | return never executed: 1;return 1; never executed: return 1; | 0 | ||||||||||||
273 | } | - | ||||||||||||
274 | - | |||||||||||||
275 | int | - | ||||||||||||
276 | rl_set_keyboard_input_timeout (int u) | - | ||||||||||||
277 | { | - | ||||||||||||
278 | int o; | - | ||||||||||||
279 | - | |||||||||||||
280 | o = _keyboard_input_timeout; | - | ||||||||||||
281 | if (u >= 0
| 0 | ||||||||||||
282 | _keyboard_input_timeout = u; never executed: _keyboard_input_timeout = u; | 0 | ||||||||||||
283 | return never executed: (o);return (o); never executed: return (o); | 0 | ||||||||||||
284 | } | - | ||||||||||||
285 | - | |||||||||||||
286 | - | |||||||||||||
287 | - | |||||||||||||
288 | - | |||||||||||||
289 | - | |||||||||||||
290 | - | |||||||||||||
291 | - | |||||||||||||
292 | int | - | ||||||||||||
293 | _rl_input_available (void) | - | ||||||||||||
294 | { | - | ||||||||||||
295 | - | |||||||||||||
296 | fd_set readfds, exceptfds; | - | ||||||||||||
297 | struct timeval timeout; | - | ||||||||||||
298 | - | |||||||||||||
299 | - | |||||||||||||
300 | - | |||||||||||||
301 | - | |||||||||||||
302 | int tty; | - | ||||||||||||
303 | - | |||||||||||||
304 | if (rl_input_available_hook
| 0 | ||||||||||||
305 | return never executed: (*rl_input_available_hook) ();return (*rl_input_available_hook) (); never executed: return (*rl_input_available_hook) (); | 0 | ||||||||||||
306 | - | |||||||||||||
307 | tty = fileno (rl_instream); | - | ||||||||||||
308 | - | |||||||||||||
309 | - | |||||||||||||
310 | - | |||||||||||||
311 | do { int __d0, __d1; __asm__ __volatile__ ("cld; rep; " "stosq" : "=c" (__d0), "=D" (__d1) : "a" (0), "0" (sizeof (fd_set) / sizeof (__fd_mask)), "1" (&(( | - | ||||||||||||
312 | &readfds | - | ||||||||||||
313 | )->fds_bits)[0]) : "memory"); } while (0) | - | ||||||||||||
314 | ; | - | ||||||||||||
315 | - | |||||||||||||
316 | do { int __d0, __d1; __asm__ __volatile__ ("cld; rep; " "stosq" : "=c" (__d0), "=D" (__d1) : "a" (0), "0" (sizeof (fd_set) / sizeof (__fd_mask)), "1" (&(( | - | ||||||||||||
317 | &exceptfds | - | ||||||||||||
318 | )->fds_bits)[0]) : "memory"); } while (0) | - | ||||||||||||
319 | ; | - | ||||||||||||
320 | - | |||||||||||||
321 | ((void) ((( | - | ||||||||||||
322 | &readfds | - | ||||||||||||
323 | )->fds_bits)[(( | - | ||||||||||||
324 | tty | - | ||||||||||||
325 | ) / (8 * (int) sizeof (__fd_mask)))] |= ((__fd_mask) (1UL << (( | - | ||||||||||||
326 | tty | - | ||||||||||||
327 | ) % (8 * (int) sizeof (__fd_mask))))))) | - | ||||||||||||
328 | ; | - | ||||||||||||
329 | - | |||||||||||||
330 | ((void) ((( | - | ||||||||||||
331 | &exceptfds | - | ||||||||||||
332 | )->fds_bits)[(( | - | ||||||||||||
333 | tty | - | ||||||||||||
334 | ) / (8 * (int) sizeof (__fd_mask)))] |= ((__fd_mask) (1UL << (( | - | ||||||||||||
335 | tty | - | ||||||||||||
336 | ) % (8 * (int) sizeof (__fd_mask))))))) | - | ||||||||||||
337 | ; | - | ||||||||||||
338 | timeout.tv_sec = 0; | - | ||||||||||||
339 | timeout.tv_usec = _keyboard_input_timeout; | - | ||||||||||||
340 | return never executed: (select (tty + 1, &readfds, (fd_set *)return (select (tty + 1, &readfds, (fd_set *) ((void *)0) , &exceptfds, &timeout) > 0); never executed: return (select (tty + 1, &readfds, (fd_set *) ((void *)0) , &exceptfds, &timeout) > 0); | 0 | ||||||||||||
341 | ((void *)0) never executed: return (select (tty + 1, &readfds, (fd_set *) ((void *)0) , &exceptfds, &timeout) > 0); | 0 | ||||||||||||
342 | , &exceptfds, &timeout) > 0); never executed: return (select (tty + 1, &readfds, (fd_set *) ((void *)0) , &exceptfds, &timeout) > 0); | 0 | ||||||||||||
343 | return dead code: 0;return 0; dead code: return 0; | - | ||||||||||||
344 | } | - | ||||||||||||
345 | - | |||||||||||||
346 | int | - | ||||||||||||
347 | _rl_input_queued (int t) | - | ||||||||||||
348 | { | - | ||||||||||||
349 | int old_timeout, r; | - | ||||||||||||
350 | - | |||||||||||||
351 | old_timeout = rl_set_keyboard_input_timeout (t); | - | ||||||||||||
352 | r = _rl_input_available (); | - | ||||||||||||
353 | rl_set_keyboard_input_timeout (old_timeout); | - | ||||||||||||
354 | return never executed: r;return r; never executed: return r; | 0 | ||||||||||||
355 | } | - | ||||||||||||
356 | - | |||||||||||||
357 | void | - | ||||||||||||
358 | _rl_insert_typein (int c) | - | ||||||||||||
359 | { | - | ||||||||||||
360 | int key, t, i; | - | ||||||||||||
361 | char *string; | - | ||||||||||||
362 | - | |||||||||||||
363 | i = key = 0; | - | ||||||||||||
364 | string = (char *)xmalloc (ibuffer_len + 1); | - | ||||||||||||
365 | string[i++] = (char) c; | - | ||||||||||||
366 | - | |||||||||||||
367 | while ((
| 0 | ||||||||||||
368 | _rl_keymap[key].type == 0
| 0 | ||||||||||||
369 | _rl_keymap[key].function == rl_insert
| 0 | ||||||||||||
370 | string[i++] = key; never executed: string[i++] = key; | 0 | ||||||||||||
371 | - | |||||||||||||
372 | if (t
| 0 | ||||||||||||
373 | _rl_unget_char (key); never executed: _rl_unget_char (key); | 0 | ||||||||||||
374 | - | |||||||||||||
375 | string[i] = '\0'; | - | ||||||||||||
376 | rl_insert_text (string); | - | ||||||||||||
377 | xfree (string); | - | ||||||||||||
378 | } never executed: end of block | 0 | ||||||||||||
379 | - | |||||||||||||
380 | - | |||||||||||||
381 | - | |||||||||||||
382 | int | - | ||||||||||||
383 | rl_stuff_char (int key) | - | ||||||||||||
384 | { | - | ||||||||||||
385 | if (ibuffer_space () == 0
| 0 | ||||||||||||
386 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||
387 | - | |||||||||||||
388 | if (key ==
| 0 | ||||||||||||
389 | (-1)
| 0 | ||||||||||||
390 | ) | - | ||||||||||||
391 | { | - | ||||||||||||
392 | key = '\n'; | - | ||||||||||||
393 | rl_pending_input = | - | ||||||||||||
394 | (-1) | - | ||||||||||||
395 | ; | - | ||||||||||||
396 | (rl_readline_state |= (0x0020000)); | - | ||||||||||||
397 | } never executed: end of block | 0 | ||||||||||||
398 | ibuffer[push_index++] = key; | - | ||||||||||||
399 | - | |||||||||||||
400 | - | |||||||||||||
401 | - | |||||||||||||
402 | if (push_index > ibuffer_len
| 0 | ||||||||||||
403 | - | |||||||||||||
404 | push_index = 0; never executed: push_index = 0; | 0 | ||||||||||||
405 | - | |||||||||||||
406 | return never executed: 1;return 1; never executed: return 1; | 0 | ||||||||||||
407 | } | - | ||||||||||||
408 | - | |||||||||||||
409 | - | |||||||||||||
410 | int | - | ||||||||||||
411 | rl_execute_next (int c) | - | ||||||||||||
412 | { | - | ||||||||||||
413 | rl_pending_input = c; | - | ||||||||||||
414 | (rl_readline_state |= (0x0020000)); | - | ||||||||||||
415 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||
416 | } | - | ||||||||||||
417 | - | |||||||||||||
418 | - | |||||||||||||
419 | int | - | ||||||||||||
420 | rl_clear_pending_input (void) | - | ||||||||||||
421 | { | - | ||||||||||||
422 | rl_pending_input = 0; | - | ||||||||||||
423 | (rl_readline_state &= ~(0x0020000)); | - | ||||||||||||
424 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||
425 | } | - | ||||||||||||
426 | int | - | ||||||||||||
427 | rl_read_key (void) | - | ||||||||||||
428 | { | - | ||||||||||||
429 | int c, r; | - | ||||||||||||
430 | - | |||||||||||||
431 | if (rl_pending_input
| 0 | ||||||||||||
432 | { | - | ||||||||||||
433 | c = rl_pending_input; | - | ||||||||||||
434 | rl_clear_pending_input (); | - | ||||||||||||
435 | } never executed: end of block | 0 | ||||||||||||
436 | else | - | ||||||||||||
437 | { | - | ||||||||||||
438 | - | |||||||||||||
439 | if (c = _rl_next_macro_key ()
| 0 | ||||||||||||
440 | return never executed: ((unsigned char)c);return ((unsigned char)c); never executed: return ((unsigned char)c); | 0 | ||||||||||||
441 | - | |||||||||||||
442 | - | |||||||||||||
443 | if (rl_event_hook
| 0 | ||||||||||||
444 | { | - | ||||||||||||
445 | while (rl_event_hook
| 0 | ||||||||||||
446 | { | - | ||||||||||||
447 | if (rl_get_char (&c) != 0
| 0 | ||||||||||||
448 | break; never executed: break; | 0 | ||||||||||||
449 | - | |||||||||||||
450 | if ((
| 0 | ||||||||||||
451 | { | - | ||||||||||||
452 | rl_done = 1; | - | ||||||||||||
453 | return never executed: (return ( (*__errno_location ()) == 5 ? ((rl_readline_state & (0x0000008)) ? (-2) : (-1) ) : '\n'); never executed: return ( (*__errno_location ()) == 5 ? ((rl_readline_state & (0x0000008)) ? (-2) : (-1) ) : '\n'); | 0 | ||||||||||||
454 | (*__errno_location ()) never executed: return ( (*__errno_location ()) == 5 ? ((rl_readline_state & (0x0000008)) ? (-2) : (-1) ) : '\n'); | 0 | ||||||||||||
455 | == never executed: return ( (*__errno_location ()) == 5 ? ((rl_readline_state & (0x0000008)) ? (-2) : (-1) ) : '\n'); | 0 | ||||||||||||
456 | 5 never executed: return ( (*__errno_location ()) == 5 ? ((rl_readline_state & (0x0000008)) ? (-2) : (-1) ) : '\n'); | 0 | ||||||||||||
457 | ? ((rl_readline_state & (0x0000008)) ? (-2) : never executed: return ( (*__errno_location ()) == 5 ? ((rl_readline_state & (0x0000008)) ? (-2) : (-1) ) : '\n'); | 0 | ||||||||||||
458 | (-1) never executed: return ( (*__errno_location ()) == 5 ? ((rl_readline_state & (0x0000008)) ? (-2) : (-1) ) : '\n'); | 0 | ||||||||||||
459 | ) : '\n'); never executed: return ( (*__errno_location ()) == 5 ? ((rl_readline_state & (0x0000008)) ? (-2) : (-1) ) : '\n'); | 0 | ||||||||||||
460 | } | - | ||||||||||||
461 | else if (r > 0
| 0 | ||||||||||||
462 | continue; never executed: continue; | 0 | ||||||||||||
463 | - | |||||||||||||
464 | do { if (_rl_caught_signal
never executed: } while (0);_rl_signal_handler (_rl_caught_signal); | 0 | ||||||||||||
465 | if (rl_done
| 0 | ||||||||||||
466 | return never executed: ('\n');return ('\n'); never executed: return ('\n'); | 0 | ||||||||||||
467 | (*rl_event_hook) (); | - | ||||||||||||
468 | } never executed: end of block | 0 | ||||||||||||
469 | } never executed: end of block | 0 | ||||||||||||
470 | else | - | ||||||||||||
471 | { | - | ||||||||||||
472 | if (rl_get_char (&c) == 0
| 0 | ||||||||||||
473 | c = (*rl_getc_function) (rl_instream); never executed: c = (*rl_getc_function) (rl_instream); | 0 | ||||||||||||
474 | - | |||||||||||||
475 | do { if (_rl_caught_signal
never executed: } while (0);_rl_signal_handler (_rl_caught_signal); | 0 | ||||||||||||
476 | } never executed: end of block | 0 | ||||||||||||
477 | } | - | ||||||||||||
478 | - | |||||||||||||
479 | return never executed: (c);return (c); never executed: return (c); | 0 | ||||||||||||
480 | } | - | ||||||||||||
481 | - | |||||||||||||
482 | int | - | ||||||||||||
483 | rl_getc (FILE *stream) | - | ||||||||||||
484 | { | - | ||||||||||||
485 | int result; | - | ||||||||||||
486 | unsigned char c; | - | ||||||||||||
487 | - | |||||||||||||
488 | sigset_t empty_set; | - | ||||||||||||
489 | fd_set readfds; | - | ||||||||||||
490 | - | |||||||||||||
491 | - | |||||||||||||
492 | while (1) | - | ||||||||||||
493 | { | - | ||||||||||||
494 | do { if (_rl_caught_signal
never executed: } while (0);_rl_signal_handler (_rl_caught_signal); | 0 | ||||||||||||
495 | - | |||||||||||||
496 | - | |||||||||||||
497 | - | |||||||||||||
498 | - | |||||||||||||
499 | - | |||||||||||||
500 | - | |||||||||||||
501 | - | |||||||||||||
502 | result = 0; | - | ||||||||||||
503 | - | |||||||||||||
504 | - | |||||||||||||
505 | do { int __d0, __d1; __asm__ __volatile__ ("cld; rep; " "stosq" : "=c" (__d0), "=D" (__d1) : "a" (0), "0" (sizeof (fd_set) / sizeof (__fd_mask)), "1" (&(( | - | ||||||||||||
506 | &readfds | - | ||||||||||||
507 | )->fds_bits)[0]) : "memory"); } while (0) | - | ||||||||||||
508 | ; | - | ||||||||||||
509 | - | |||||||||||||
510 | ((void) ((( | - | ||||||||||||
511 | &readfds | - | ||||||||||||
512 | )->fds_bits)[(( | - | ||||||||||||
513 | fileno (stream) | - | ||||||||||||
514 | ) / (8 * (int) sizeof (__fd_mask)))] |= ((__fd_mask) (1UL << (( | - | ||||||||||||
515 | fileno (stream) | - | ||||||||||||
516 | ) % (8 * (int) sizeof (__fd_mask))))))) | - | ||||||||||||
517 | ; | - | ||||||||||||
518 | - | |||||||||||||
519 | result = pselect (fileno (stream) + 1, &readfds, | - | ||||||||||||
520 | ((void *)0) | - | ||||||||||||
521 | , | - | ||||||||||||
522 | ((void *)0) | - | ||||||||||||
523 | , | - | ||||||||||||
524 | ((void *)0) | - | ||||||||||||
525 | , &_rl_orig_sigset); | - | ||||||||||||
526 | - | |||||||||||||
527 | - | |||||||||||||
528 | - | |||||||||||||
529 | - | |||||||||||||
530 | - | |||||||||||||
531 | - | |||||||||||||
532 | if (result >= 0
| 0 | ||||||||||||
533 | result = read (fileno (stream), &c, sizeof (unsigned char)); never executed: result = read (fileno (stream), &c, sizeof (unsigned char)); | 0 | ||||||||||||
534 | - | |||||||||||||
535 | if (result == sizeof (unsigned char)
| 0 | ||||||||||||
536 | return never executed: (c);return (c); never executed: return (c); | 0 | ||||||||||||
537 | - | |||||||||||||
538 | - | |||||||||||||
539 | - | |||||||||||||
540 | if (result == 0
| 0 | ||||||||||||
541 | return never executed: (return ( (-1) ); never executed: return ( (-1) ); | 0 | ||||||||||||
542 | (-1) never executed: return ( (-1) ); | 0 | ||||||||||||
543 | ); never executed: return ( (-1) ); | 0 | ||||||||||||
544 | if ( | - | ||||||||||||
545 | (*
| 0 | ||||||||||||
546 | ==
| 0 | ||||||||||||
547 | 11
| 0 | ||||||||||||
548 | || | - | ||||||||||||
549 | (*
| 0 | ||||||||||||
550 | ==
| 0 | ||||||||||||
551 | 11
| 0 | ||||||||||||
552 | ) | - | ||||||||||||
553 | { | - | ||||||||||||
554 | if (sh_unset_nodelay_mode (fileno (stream)) < 0
| 0 | ||||||||||||
555 | return never executed: (return ( (-1) ); never executed: return ( (-1) ); | 0 | ||||||||||||
556 | (-1) never executed: return ( (-1) ); | 0 | ||||||||||||
557 | ); never executed: return ( (-1) ); | 0 | ||||||||||||
558 | continue; never executed: continue; | 0 | ||||||||||||
559 | } | - | ||||||||||||
560 | - | |||||||||||||
561 | - | |||||||||||||
562 | - | |||||||||||||
563 | - | |||||||||||||
564 | - | |||||||||||||
565 | - | |||||||||||||
566 | handle_error: code before this statement never executed: handle_error: | 0 | ||||||||||||
567 | - | |||||||||||||
568 | - | |||||||||||||
569 | - | |||||||||||||
570 | - | |||||||||||||
571 | - | |||||||||||||
572 | - | |||||||||||||
573 | if ( | - | ||||||||||||
574 | (*
| 0 | ||||||||||||
575 | !=
| 0 | ||||||||||||
576 | 4
| 0 | ||||||||||||
577 | ) | - | ||||||||||||
578 | return never executed: ((rl_readline_state & (0x0000008)) ? (-2) : return ((rl_readline_state & (0x0000008)) ? (-2) : (-1) ); never executed: return ((rl_readline_state & (0x0000008)) ? (-2) : (-1) ); | 0 | ||||||||||||
579 | (-1) never executed: return ((rl_readline_state & (0x0000008)) ? (-2) : (-1) ); | 0 | ||||||||||||
580 | ); never executed: return ((rl_readline_state & (0x0000008)) ? (-2) : (-1) ); | 0 | ||||||||||||
581 | - | |||||||||||||
582 | - | |||||||||||||
583 | else if (_rl_caught_signal ==
| 0 | ||||||||||||
584 | 1
| 0 | ||||||||||||
585 | || _rl_caught_signal ==
| 0 | ||||||||||||
586 | 15
| 0 | ||||||||||||
587 | ) | - | ||||||||||||
588 | - | |||||||||||||
589 | - | |||||||||||||
590 | - | |||||||||||||
591 | return never executed: ((rl_readline_state & (0x0000008)) ? (-2) : return ((rl_readline_state & (0x0000008)) ? (-2) : (-1) ); never executed: return ((rl_readline_state & (0x0000008)) ? (-2) : (-1) ); | 0 | ||||||||||||
592 | (-1) never executed: return ((rl_readline_state & (0x0000008)) ? (-2) : (-1) ); | 0 | ||||||||||||
593 | ); never executed: return ((rl_readline_state & (0x0000008)) ? (-2) : (-1) ); | 0 | ||||||||||||
594 | - | |||||||||||||
595 | - | |||||||||||||
596 | else if (_rl_caught_signal ==
| 0 | ||||||||||||
597 | 2
| 0 | ||||||||||||
598 | || _rl_caught_signal ==
| 0 | ||||||||||||
599 | 3
| 0 | ||||||||||||
600 | ) | - | ||||||||||||
601 | - | |||||||||||||
602 | - | |||||||||||||
603 | - | |||||||||||||
604 | do { if (_rl_caught_signal
never executed: }_rl_signal_handler (_rl_caught_signal); never executed: while (0);end of block | 0 | ||||||||||||
605 | - | |||||||||||||
606 | - | |||||||||||||
607 | else if (_rl_caught_signal ==
| 0 | ||||||||||||
608 | 28
| 0 | ||||||||||||
609 | ) | - | ||||||||||||
610 | do { if (_rl_caught_signal
never executed: }_rl_signal_handler (_rl_caught_signal); never executed: while (0);end of block | 0 | ||||||||||||
611 | - | |||||||||||||
612 | - | |||||||||||||
613 | else if (_rl_caught_signal ==
| 0 | ||||||||||||
614 | 14
| 0 | ||||||||||||
615 | - | |||||||||||||
616 | - | |||||||||||||
617 | || _rl_caught_signal ==
| 0 | ||||||||||||
618 | 26
| 0 | ||||||||||||
619 | - | |||||||||||||
620 | - | |||||||||||||
621 | ) | - | ||||||||||||
622 | do { if (_rl_caught_signal
never executed: }_rl_signal_handler (_rl_caught_signal); never executed: while (0);end of block | 0 | ||||||||||||
623 | - | |||||||||||||
624 | - | |||||||||||||
625 | if (rl_signal_event_hook
| 0 | ||||||||||||
626 | (* never executed: rl_signal_event_hook) ();(*rl_signal_event_hook) (); never executed: (*rl_signal_event_hook) (); | 0 | ||||||||||||
627 | } never executed: end of block | 0 | ||||||||||||
628 | } never executed: end of block | 0 | ||||||||||||
629 | - | |||||||||||||
630 | - | |||||||||||||
631 | - | |||||||||||||
632 | int | - | ||||||||||||
633 | _rl_read_mbchar (char *mbchar, int size) | - | ||||||||||||
634 | { | - | ||||||||||||
635 | int mb_len, c; | - | ||||||||||||
636 | size_t mbchar_bytes_length; | - | ||||||||||||
637 | wchar_t wc; | - | ||||||||||||
638 | mbstate_t ps, ps_back; | - | ||||||||||||
639 | - | |||||||||||||
640 | memset(&ps, 0, sizeof (mbstate_t)); | - | ||||||||||||
641 | memset(&ps_back, 0, sizeof (mbstate_t)); | - | ||||||||||||
642 | - | |||||||||||||
643 | mb_len = 0; | - | ||||||||||||
644 | while (mb_len < size
| 0 | ||||||||||||
645 | { | - | ||||||||||||
646 | (rl_readline_state |= (0x0000040)); | - | ||||||||||||
647 | c = rl_read_key (); | - | ||||||||||||
648 | (rl_readline_state &= ~(0x0000040)); | - | ||||||||||||
649 | - | |||||||||||||
650 | if (c < 0
| 0 | ||||||||||||
651 | break; never executed: break; | 0 | ||||||||||||
652 | - | |||||||||||||
653 | mbchar[mb_len++] = c; | - | ||||||||||||
654 | - | |||||||||||||
655 | mbchar_bytes_length = mbrtowc (&wc, mbchar, mb_len, &ps); | - | ||||||||||||
656 | if (mbchar_bytes_length == (size_t)(-1)
| 0 | ||||||||||||
657 | break; never executed: break; | 0 | ||||||||||||
658 | else if (mbchar_bytes_length == (size_t)(-2)
| 0 | ||||||||||||
659 | { | - | ||||||||||||
660 | - | |||||||||||||
661 | ps = ps_back; | - | ||||||||||||
662 | continue; never executed: continue; | 0 | ||||||||||||
663 | } | - | ||||||||||||
664 | else if (mbchar_bytes_length == 0
| 0 | ||||||||||||
665 | { | - | ||||||||||||
666 | mbchar[0] = '\0'; | - | ||||||||||||
667 | mb_len = 1; | - | ||||||||||||
668 | break; never executed: break; | 0 | ||||||||||||
669 | } | - | ||||||||||||
670 | else if (mbchar_bytes_length > (size_t)(0)
| 0 | ||||||||||||
671 | break; never executed: break; | 0 | ||||||||||||
672 | } never executed: end of block | 0 | ||||||||||||
673 | - | |||||||||||||
674 | return never executed: mb_len;return mb_len; never executed: return mb_len; | 0 | ||||||||||||
675 | } | - | ||||||||||||
676 | - | |||||||||||||
677 | - | |||||||||||||
678 | - | |||||||||||||
679 | - | |||||||||||||
680 | - | |||||||||||||
681 | int | - | ||||||||||||
682 | _rl_read_mbstring (int first, char *mb, int mlen) | - | ||||||||||||
683 | { | - | ||||||||||||
684 | int i, c, n; | - | ||||||||||||
685 | mbstate_t ps; | - | ||||||||||||
686 | - | |||||||||||||
687 | c = first; | - | ||||||||||||
688 | memset (mb, 0, mlen); | - | ||||||||||||
689 | for (i = 0; c >= 0
| 0 | ||||||||||||
690 | { | - | ||||||||||||
691 | mb[i] = (char)c; | - | ||||||||||||
692 | memset (&ps, 0, sizeof (mbstate_t)); | - | ||||||||||||
693 | n = _rl_get_char_len (mb, &ps); | - | ||||||||||||
694 | if (n == -2
| 0 | ||||||||||||
695 | { | - | ||||||||||||
696 | - | |||||||||||||
697 | (rl_readline_state |= (0x0000040)); | - | ||||||||||||
698 | c = rl_read_key (); | - | ||||||||||||
699 | (rl_readline_state &= ~(0x0000040)); | - | ||||||||||||
700 | } never executed: end of block | 0 | ||||||||||||
701 | else | - | ||||||||||||
702 | break; never executed: break; | 0 | ||||||||||||
703 | } | - | ||||||||||||
704 | return never executed: c;return c; never executed: return c; | 0 | ||||||||||||
705 | } | - | ||||||||||||
Switch to Source code | Preprocessed file |