Line | Source | Count |
1 | | - |
2 | | - |
3 | | - |
4 | | - |
5 | | - |
6 | | - |
7 | | - |
8 | | - |
9 | | - |
10 | | - |
11 | | - |
12 | | - |
13 | | - |
14 | | - |
15 | | - |
16 | | - |
17 | | - |
18 | | - |
19 | | - |
20 | | - |
21 | extern int rl_done, rl_dispatching; | - |
22 | | - |
23 | | - |
24 | | - |
25 | | - |
26 | | - |
27 | | - |
28 | static int histignore_item_func (struct ign *); | - |
29 | static int check_history_control (char *); | - |
30 | static void hc_erasedups (char *); | - |
31 | static void really_add_history (char *); | - |
32 | | - |
33 | static struct ignorevar histignore = | - |
34 | { | - |
35 | "HISTIGNORE", | - |
36 | (struct ign *)0, | - |
37 | 0, | - |
38 | (char *)0, | - |
39 | (sh_iv_item_func_t *)histignore_item_func, | - |
40 | }; | - |
41 | | - |
42 | | - |
43 | | - |
44 | | - |
45 | | - |
46 | | - |
47 | | - |
48 | int remember_on_history = 0; | - |
49 | int enable_history_list = 0; | - |
50 | | - |
51 | | - |
52 | | - |
53 | | - |
54 | | - |
55 | int history_lines_this_session; | - |
56 | | - |
57 | | - |
58 | int history_lines_in_file; | - |
59 | | - |
60 | | - |
61 | | - |
62 | | - |
63 | int history_expansion_inhibited; | - |
64 | | - |
65 | int double_quotes_inhibit_history_expansion = 0; | - |
66 | int command_oriented_history = 1; | - |
67 | | - |
68 | | - |
69 | | - |
70 | | - |
71 | int current_command_first_line_saved = 0; | - |
72 | | - |
73 | | - |
74 | | - |
75 | | - |
76 | int current_command_line_comment = 0; | - |
77 | | - |
78 | | - |
79 | | - |
80 | int literal_history; | - |
81 | | - |
82 | | - |
83 | | - |
84 | int force_append_history; | - |
85 | int history_control; | - |
86 | | - |
87 | | - |
88 | | - |
89 | | - |
90 | int hist_last_line_added; | - |
91 | | - |
92 | | - |
93 | | - |
94 | int hist_last_line_pushed; | - |
95 | | - |
96 | | - |
97 | | - |
98 | | - |
99 | int history_reediting; | - |
100 | | - |
101 | | - |
102 | | - |
103 | | - |
104 | int hist_verify; | - |
105 | | - |
106 | | - |
107 | | - |
108 | | - |
109 | int dont_save_function_defs; | - |
110 | | - |
111 | | - |
112 | static int bash_history_inhibit_expansion (char *, int); | - |
113 | | - |
114 | | - |
115 | static void re_edit (char *); | - |
116 | | - |
117 | static int history_expansion_p (char *); | - |
118 | static int shell_comment (char *); | - |
119 | static int should_expand (char *); | - |
120 | static HIST_ENTRY *last_history_entry (void); | - |
121 | static char *expand_histignore_pattern (char *); | - |
122 | static int history_should_ignore (char *); | - |
123 | | - |
124 | | - |
125 | | - |
126 | | - |
127 | static int | - |
128 | bash_history_inhibit_expansion (string, i) | - |
129 | char *string; | - |
130 | int i; | - |
131 | { | - |
132 | int t; | - |
133 | char hx[2]; | - |
134 | | - |
135 | hx[0] = history_expansion_char; | - |
136 | hx[1] = '\0'; | - |
137 | | - |
138 | | - |
139 | | - |
140 | if (i > 0TRUE | evaluated 218 times by 1 test | FALSE | evaluated 47 times by 1 test |
&& (TRUE | evaluated 1 time by 1 test | FALSE | evaluated 217 times by 1 test |
string[i - 1] == '[')TRUE | evaluated 1 time by 1 test | FALSE | evaluated 217 times by 1 test |
&& ((TRUE | evaluated 1 time by 1 test | FALSE | never evaluated |
']') ? ((char *)mbschr ((string + i + 1), (']')) != (char *)TRUE | evaluated 1 time by 1 test | FALSE | never evaluated |
| 0-218 |
141 | ((void *)0)TRUE | evaluated 1 time by 1 test | FALSE | never evaluated |
| 0-1 |
142 | ) : 0)TRUE | evaluated 1 time by 1 test | FALSE | never evaluated |
) | 0-1 |
143 | returnexecuted 1 time by 1 test: return (1); (1);executed 1 time by 1 test: return (1); | 1 |
144 | | - |
145 | | - |
146 | else if (i > 1TRUE | evaluated 217 times by 1 test | FALSE | evaluated 47 times by 1 test |
&& string[i - 1] == '{'TRUE | evaluated 1 time by 1 test | FALSE | evaluated 216 times by 1 test |
&& string[i - 2] == '$'TRUE | evaluated 1 time by 1 test | FALSE | never evaluated |
&& | 0-217 |
147 | ((TRUE | evaluated 1 time by 1 test | FALSE | never evaluated |
'}') ? ((char *)mbschr ((string + i + 1), ('}')) != (char *)TRUE | evaluated 1 time by 1 test | FALSE | never evaluated |
| 0-1 |
148 | ((void *)0)TRUE | evaluated 1 time by 1 test | FALSE | never evaluated |
| 0-1 |
149 | ) : 0)TRUE | evaluated 1 time by 1 test | FALSE | never evaluated |
) | 0-1 |
150 | returnexecuted 1 time by 1 test: return (1); (1);executed 1 time by 1 test: return (1); | 1 |
151 | | - |
152 | else if (i > 1TRUE | evaluated 216 times by 1 test | FALSE | evaluated 47 times by 1 test |
&& string[i - 1] == '$'TRUE | never evaluated | FALSE | evaluated 216 times by 1 test |
&& string[i] == '!'TRUE | never evaluated | FALSE | never evaluated |
) | 0-216 |
153 | return never executed: return (1); (1);never executed: return (1); | 0 |
154 | | - |
155 | else if (extended_globTRUE | never evaluated | FALSE | evaluated 263 times by 1 test |
&& i > 1TRUE | never evaluated | FALSE | never evaluated |
&& string[i+1] == '('TRUE | never evaluated | FALSE | never evaluated |
&& ((TRUE | never evaluated | FALSE | never evaluated |
')') ? ((char *)mbschr ((string + i + 2), (')')) != (char *)TRUE | never evaluated | FALSE | never evaluated |
| 0-263 |
156 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
157 | ) : 0)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
158 | return never executed: return (1); (1);never executed: return (1); | 0 |
159 | | - |
160 | | - |
161 | | - |
162 | | - |
163 | else if ((TRUE | evaluated 215 times by 1 test | FALSE | evaluated 48 times by 1 test |
t = skip_to_histexp (string, 0, hx, 0x001|0x200)) > 0TRUE | evaluated 215 times by 1 test | FALSE | evaluated 48 times by 1 test |
) | 48-215 |
164 | { | - |
165 | | - |
166 | | - |
167 | while (t < iTRUE | evaluated 58 times by 1 test | FALSE | evaluated 215 times by 1 test |
) | 58-215 |
168 | { | - |
169 | t = skip_to_histexp (string, t+1, hx, 0x001|0x200); | - |
170 | if (t <= 0TRUE | never evaluated | FALSE | evaluated 58 times by 1 test |
) | 0-58 |
171 | return never executed: return 0; 0;never executed: return 0; | 0 |
172 | }executed 58 times by 1 test: end of block | 58 |
173 | returnexecuted 215 times by 1 test: return (t > i); (t > i);executed 215 times by 1 test: return (t > i); | 215 |
174 | } | - |
175 | else | - |
176 | returnexecuted 48 times by 1 test: return (0); (0);executed 48 times by 1 test: return (0); | 48 |
177 | } | - |
178 | | - |
179 | | - |
180 | void | - |
181 | bash_initialize_history () | - |
182 | { | - |
183 | history_quotes_inhibit_expansion = 1; | - |
184 | history_search_delimiter_chars = ";&()|<>"; | - |
185 | | - |
186 | history_inhibit_expansion_function = bash_history_inhibit_expansion; | - |
187 | sv_histchars ("histchars"); | - |
188 | | - |
189 | }executed 31 times by 1 test: end of block | 31 |
190 | | - |
191 | void | - |
192 | bash_history_reinit (interact) | - |
193 | int interact; | - |
194 | { | - |
195 | | - |
196 | history_expansion = (TRUE | evaluated 5461 times by 1 test | FALSE | never evaluated |
interact == 0)TRUE | evaluated 5461 times by 1 test | FALSE | never evaluated |
? histexp_flag : 1; | 0-5461 |
197 | history_expansion_inhibited = (TRUE | evaluated 5461 times by 1 test | FALSE | never evaluated |
interact == 0)TRUE | evaluated 5461 times by 1 test | FALSE | never evaluated |
? 1 - histexp_flag : 0; | 0-5461 |
198 | history_inhibit_expansion_function = bash_history_inhibit_expansion; | - |
199 | | - |
200 | remember_on_history = enable_history_list; | - |
201 | }executed 5461 times by 1 test: end of block | 5461 |
202 | | - |
203 | void | - |
204 | bash_history_disable () | - |
205 | { | - |
206 | remember_on_history = 0; | - |
207 | | - |
208 | history_expansion_inhibited = 1; | - |
209 | | - |
210 | }executed 727083 times by 1 test: end of block | 727083 |
211 | | - |
212 | void | - |
213 | bash_history_enable () | - |
214 | { | - |
215 | remember_on_history = enable_history_list = 1; | - |
216 | | - |
217 | history_expansion_inhibited = 0; | - |
218 | history_inhibit_expansion_function = bash_history_inhibit_expansion; | - |
219 | | - |
220 | sv_history_control ("HISTCONTROL"); | - |
221 | sv_histignore ("HISTIGNORE"); | - |
222 | }executed 33 times by 1 test: end of block | 33 |
223 | | - |
224 | | - |
225 | void | - |
226 | load_history () | - |
227 | { | - |
228 | char *hf; | - |
229 | | - |
230 | | - |
231 | | - |
232 | | - |
233 | | - |
234 | set_if_not ("HISTSIZE", "500"); | - |
235 | sv_histsize ("HISTSIZE"); | - |
236 | | - |
237 | set_if_not ("HISTFILESIZE", get_string_value ("HISTSIZE")); | - |
238 | sv_histsize ("HISTFILESIZE"); | - |
239 | | - |
240 | | - |
241 | hf = get_string_value ("HISTFILE"); | - |
242 | | - |
243 | if (hfTRUE | evaluated 18 times by 1 test | FALSE | evaluated 15 times by 1 test |
&& *TRUE | evaluated 18 times by 1 test | FALSE | never evaluated |
hfTRUE | evaluated 18 times by 1 test | FALSE | never evaluated |
&& file_exists (hf)TRUE | evaluated 3 times by 1 test | FALSE | evaluated 15 times by 1 test |
) | 0-18 |
244 | { | - |
245 | read_history (hf); | - |
246 | | - |
247 | | - |
248 | | - |
249 | | - |
250 | history_lines_in_file = history_lines_read_from_file; | - |
251 | using_history (); | - |
252 | | - |
253 | }executed 3 times by 1 test: end of block | 3 |
254 | }executed 33 times by 1 test: end of block | 33 |
255 | | - |
256 | void | - |
257 | bash_clear_history () | - |
258 | { | - |
259 | clear_history (); | - |
260 | history_lines_this_session = 0; | - |
261 | | - |
262 | }executed 6 times by 1 test: end of block | 6 |
263 | | - |
264 | | - |
265 | int | - |
266 | bash_delete_histent (i) | - |
267 | int i; | - |
268 | { | - |
269 | HIST_ENTRY *discard; | - |
270 | | - |
271 | discard = remove_history (i); | - |
272 | if (discardTRUE | evaluated 3 times by 1 test | FALSE | never evaluated |
) | 0-3 |
273 | free_history_entry (discard);executed 3 times by 1 test: free_history_entry (discard); | 3 |
274 | history_lines_this_session--; | - |
275 | | - |
276 | returnexecuted 3 times by 1 test: return 1; 1;executed 3 times by 1 test: return 1; | 3 |
277 | } | - |
278 | | - |
279 | int | - |
280 | bash_delete_history_range (first, last) | - |
281 | int first, last; | - |
282 | { | - |
283 | register int i; | - |
284 | HIST_ENTRY **discard_list; | - |
285 | | - |
286 | discard_list = remove_history_range (first, last); | - |
287 | for (i = 0; discard_listTRUE | evaluated 10 times by 1 test | FALSE | never evaluated |
&& discard_list[i]TRUE | evaluated 8 times by 1 test | FALSE | evaluated 2 times by 1 test |
; i++) | 0-10 |
288 | free_history_entry (discard_list[i]);executed 8 times by 1 test: free_history_entry (discard_list[i]); | 8 |
289 | history_lines_this_session -= i; | - |
290 | | - |
291 | returnexecuted 2 times by 1 test: return 1; 1;executed 2 times by 1 test: return 1; | 2 |
292 | } | - |
293 | | - |
294 | int | - |
295 | bash_delete_last_history () | - |
296 | { | - |
297 | register int i; | - |
298 | HIST_ENTRY **hlist, *histent; | - |
299 | int r; | - |
300 | | - |
301 | hlist = history_list (); | - |
302 | if (hlist == TRUE | never evaluated | FALSE | evaluated 3 times by 1 test |
| 0-3 |
303 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 3 times by 1 test |
| 0-3 |
304 | ) | - |
305 | return never executed: return 0; 0;never executed: return 0; | 0 |
306 | | - |
307 | for (i = 0; hlist[i]TRUE | evaluated 48 times by 1 test | FALSE | evaluated 3 times by 1 test |
; i++) | 3-48 |
308 | ;executed 48 times by 1 test: ; | 48 |
309 | i--; | - |
310 | | - |
311 | | - |
312 | histent = history_get (history_base + i); | - |
313 | if (histent == TRUE | never evaluated | FALSE | evaluated 3 times by 1 test |
| 0-3 |
314 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 3 times by 1 test |
| 0-3 |
315 | ) | - |
316 | return never executed: return 0; 0;never executed: return 0; | 0 |
317 | | - |
318 | r = bash_delete_histent (i); | - |
319 | | - |
320 | if (where_history () > history_lengthTRUE | evaluated 3 times by 1 test | FALSE | never evaluated |
) | 0-3 |
321 | history_set_pos (history_length);executed 3 times by 1 test: history_set_pos (history_length); | 3 |
322 | | - |
323 | returnexecuted 3 times by 1 test: return r; r;executed 3 times by 1 test: return r; | 3 |
324 | } | - |
325 | int | - |
326 | maybe_append_history (filename) | - |
327 | char *filename; | - |
328 | { | - |
329 | int fd, result; | - |
330 | struct stat buf; | - |
331 | | - |
332 | result = 0; | - |
333 | if (history_lines_this_session > 0TRUE | evaluated 2 times by 1 test | FALSE | never evaluated |
&& (TRUE | evaluated 2 times by 1 test | FALSE | never evaluated |
history_lines_this_session <= where_history ())TRUE | evaluated 2 times by 1 test | FALSE | never evaluated |
) | 0-2 |
334 | { | - |
335 | | - |
336 | if (stat (filename, &buf) == -1TRUE | evaluated 2 times by 1 test | FALSE | never evaluated |
&& | 0-2 |
337 | (*TRUE | evaluated 2 times by 1 test | FALSE | never evaluated |
__errno_location ()) TRUE | evaluated 2 times by 1 test | FALSE | never evaluated |
| 0-2 |
338 | == TRUE | evaluated 2 times by 1 test | FALSE | never evaluated |
| 0-2 |
339 | 2TRUE | evaluated 2 times by 1 test | FALSE | never evaluated |
| 0-2 |
340 | ) | - |
341 | { | - |
342 | fd = open (filename, | - |
343 | 01 | - |
344 | | | - |
345 | 0100 | - |
346 | , 0600); | - |
347 | if (fd < 0TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
) | 0-2 |
348 | { | - |
349 | builtin_error ( | - |
350 | dcgettext (((void *)0), | - |
351 | "%s: cannot create: %s" | - |
352 | , 5) | - |
353 | , filename, strerror ( | - |
354 | (*__errno_location ()) | - |
355 | )); | - |
356 | return never executed: return (1); (1);never executed: return (1); | 0 |
357 | } | - |
358 | close (fd); | - |
359 | }executed 2 times by 1 test: end of block | 2 |
360 | result = append_history (history_lines_this_session, filename); | - |
361 | | - |
362 | | - |
363 | history_lines_in_file += history_lines_this_session; | - |
364 | history_lines_this_session = 0; | - |
365 | }executed 2 times by 1 test: end of block | 2 |
366 | else | - |
367 | history_lines_this_session = 0; never executed: history_lines_this_session = 0; | 0 |
368 | | - |
369 | returnexecuted 2 times by 1 test: return (result); (result);executed 2 times by 1 test: return (result); | 2 |
370 | } | - |
371 | | - |
372 | | - |
373 | | - |
374 | int | - |
375 | maybe_save_shell_history () | - |
376 | { | - |
377 | int result; | - |
378 | char *hf; | - |
379 | | - |
380 | result = 0; | - |
381 | if (history_lines_this_session > 0TRUE | evaluated 9 times by 1 test | FALSE | never evaluated |
) | 0-9 |
382 | { | - |
383 | hf = get_string_value ("HISTFILE"); | - |
384 | | - |
385 | if (hfTRUE | evaluated 3 times by 1 test | FALSE | evaluated 6 times by 1 test |
&& *TRUE | evaluated 3 times by 1 test | FALSE | never evaluated |
hfTRUE | evaluated 3 times by 1 test | FALSE | never evaluated |
) | 0-6 |
386 | { | - |
387 | | - |
388 | if (file_exists (hf) == 0TRUE | evaluated 1 time by 1 test | FALSE | evaluated 2 times by 1 test |
) | 1-2 |
389 | { | - |
390 | int file; | - |
391 | file = open (hf, | - |
392 | 0100 | - |
393 | | | - |
394 | 01000 | - |
395 | | | - |
396 | 01 | - |
397 | , 0600); | - |
398 | if (file != -1TRUE | evaluated 1 time by 1 test | FALSE | never evaluated |
) | 0-1 |
399 | close (file);executed 1 time by 1 test: close (file); | 1 |
400 | }executed 1 time by 1 test: end of block | 1 |
401 | | - |
402 | | - |
403 | | - |
404 | | - |
405 | using_history (); | - |
406 | if (history_lines_this_session <= where_history ()TRUE | evaluated 3 times by 1 test | FALSE | never evaluated |
|| force_append_historyTRUE | never evaluated | FALSE | never evaluated |
) | 0-3 |
407 | { | - |
408 | result = append_history (history_lines_this_session, hf); | - |
409 | history_lines_in_file += history_lines_this_session; | - |
410 | }executed 3 times by 1 test: end of block | 3 |
411 | else | - |
412 | { | - |
413 | result = write_history (hf); | - |
414 | history_lines_in_file = history_lines_written_to_file; | - |
415 | | - |
416 | } never executed: end of block | 0 |
417 | history_lines_this_session = 0; | - |
418 | | - |
419 | sv_histsize ("HISTFILESIZE"); | - |
420 | }executed 3 times by 1 test: end of block | 3 |
421 | }executed 9 times by 1 test: end of block | 9 |
422 | returnexecuted 9 times by 1 test: return (result); (result);executed 9 times by 1 test: return (result); | 9 |
423 | } | - |
424 | | - |
425 | | - |
426 | | - |
427 | static void | - |
428 | re_edit (text) | - |
429 | char *text; | - |
430 | { | - |
431 | if (bash_input.type == st_stdinTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
432 | bash_re_edit (text); never executed: bash_re_edit (text); | 0 |
433 | } never executed: end of block | 0 |
434 | | - |
435 | | - |
436 | | - |
437 | static int | - |
438 | history_expansion_p (line) | - |
439 | char *line; | - |
440 | { | - |
441 | register char *s; | - |
442 | | - |
443 | for (s = line; *TRUE | evaluated 4393 times by 1 test | FALSE | evaluated 176 times by 1 test |
sTRUE | evaluated 4393 times by 1 test | FALSE | evaluated 176 times by 1 test |
; s++) | 176-4393 |
444 | if (*TRUE | evaluated 205 times by 1 test | FALSE | evaluated 4188 times by 1 test |
s == history_expansion_charTRUE | evaluated 205 times by 1 test | FALSE | evaluated 4188 times by 1 test |
|| *TRUE | evaluated 1 time by 1 test | FALSE | evaluated 4187 times by 1 test |
s == history_subst_charTRUE | evaluated 1 time by 1 test | FALSE | evaluated 4187 times by 1 test |
) | 1-4188 |
445 | returnexecuted 206 times by 1 test: return 1; 1;executed 206 times by 1 test: return 1; | 206 |
446 | returnexecuted 176 times by 1 test: return 0; 0;executed 176 times by 1 test: return 0; | 176 |
447 | } | - |
448 | char * | - |
449 | pre_process_line (line, print_changes, addit) | - |
450 | char *line; | - |
451 | int print_changes, addit; | - |
452 | { | - |
453 | char *history_value; | - |
454 | char *return_value; | - |
455 | int expanded; | - |
456 | | - |
457 | return_value = line; | - |
458 | expanded = 0; | - |
459 | | - |
460 | | - |
461 | | - |
462 | | - |
463 | if (!history_expansion_inhibitedTRUE | evaluated 491 times by 1 test | FALSE | never evaluated |
&& history_expansionTRUE | evaluated 382 times by 1 test | FALSE | evaluated 109 times by 1 test |
&& history_expansion_p (line)TRUE | evaluated 206 times by 1 test | FALSE | evaluated 176 times by 1 test |
) | 0-491 |
464 | { | - |
465 | expanded = history_expand (line, &history_value); | - |
466 | | - |
467 | if (expandedTRUE | evaluated 97 times by 1 test | FALSE | evaluated 109 times by 1 test |
) | 97-109 |
468 | { | - |
469 | if (print_changesTRUE | evaluated 97 times by 1 test | FALSE | never evaluated |
) | 0-97 |
470 | { | - |
471 | if (expanded < 0TRUE | evaluated 1 time by 1 test | FALSE | evaluated 96 times by 1 test |
) | 1-96 |
472 | internal_error ("%s", history_value);executed 1 time by 1 test: internal_error ("%s", history_value); | 1 |
473 | | - |
474 | else if (hist_verify == 0TRUE | evaluated 96 times by 1 test | FALSE | never evaluated |
|| expanded == 2TRUE | never evaluated | FALSE | never evaluated |
) | 0-96 |
475 | | - |
476 | | - |
477 | | - |
478 | fprintf (executed 96 times by 1 test: fprintf ( stderr , "%s\n", history_value); | 96 |
479 | stderrexecuted 96 times by 1 test: fprintf ( stderr , "%s\n", history_value); | 96 |
480 | , "%s\n", history_value);executed 96 times by 1 test: fprintf ( stderr , "%s\n", history_value); | 96 |
481 | }executed 97 times by 1 test: end of block | 97 |
482 | | - |
483 | | - |
484 | if (expanded < 0TRUE | evaluated 1 time by 1 test | FALSE | evaluated 96 times by 1 test |
|| expanded == 2TRUE | evaluated 3 times by 1 test | FALSE | evaluated 93 times by 1 test |
) | 1-96 |
485 | { | - |
486 | | - |
487 | if (expanded == 2TRUE | evaluated 3 times by 1 test | FALSE | evaluated 1 time by 1 test |
&& rl_dispatching == 0TRUE | evaluated 3 times by 1 test | FALSE | never evaluated |
&& *TRUE | evaluated 3 times by 1 test | FALSE | never evaluated |
history_valueTRUE | evaluated 3 times by 1 test | FALSE | never evaluated |
) | 0-3 |
488 | | - |
489 | | - |
490 | | - |
491 | maybe_add_history (history_value);executed 3 times by 1 test: maybe_add_history (history_value); | 3 |
492 | | - |
493 | sh_xfree((history_value), "bashhist.c", 574); | - |
494 | | - |
495 | | - |
496 | | - |
497 | | - |
498 | if (history_reeditingTRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
&& expanded < 0TRUE | never evaluated | FALSE | never evaluated |
&& rl_doneTRUE | never evaluated | FALSE | never evaluated |
) | 0-4 |
499 | re_edit (line); never executed: re_edit (line); | 0 |
500 | | - |
501 | returnexecuted 4 times by 1 test: return ((char *) ((void *)0) ); ((char *)executed 4 times by 1 test: return ((char *) ((void *)0) ); | 4 |
502 | ((void *)0)executed 4 times by 1 test: return ((char *) ((void *)0) ); | 4 |
503 | );executed 4 times by 1 test: return ((char *) ((void *)0) ); | 4 |
504 | } | - |
505 | | - |
506 | | - |
507 | if (hist_verifyTRUE | never evaluated | FALSE | evaluated 93 times by 1 test |
&& expanded == 1TRUE | never evaluated | FALSE | never evaluated |
) | 0-93 |
508 | { | - |
509 | re_edit (history_value); | - |
510 | sh_xfree((history_value), "bashhist.c", 589); | - |
511 | return never executed: return ((char *) ((void *)0) ); ((char *)never executed: return ((char *) ((void *)0) ); | 0 |
512 | ((void *)0) never executed: return ((char *) ((void *)0) ); | 0 |
513 | ); never executed: return ((char *) ((void *)0) ); | 0 |
514 | } | - |
515 | | - |
516 | }executed 93 times by 1 test: end of block | 93 |
517 | | - |
518 | | - |
519 | | - |
520 | | - |
521 | expanded = 1; | - |
522 | return_value = history_value; | - |
523 | }executed 202 times by 1 test: end of block | 202 |
524 | | - |
525 | | - |
526 | if (additTRUE | evaluated 487 times by 1 test | FALSE | never evaluated |
&& remember_on_historyTRUE | evaluated 487 times by 1 test | FALSE | never evaluated |
&& *TRUE | evaluated 487 times by 1 test | FALSE | never evaluated |
return_valueTRUE | evaluated 487 times by 1 test | FALSE | never evaluated |
) | 0-487 |
527 | maybe_add_history (return_value);executed 487 times by 1 test: maybe_add_history (return_value); | 487 |
528 | | - |
529 | | - |
530 | | - |
531 | | - |
532 | | - |
533 | | - |
534 | returnexecuted 487 times by 1 test: return (return_value); (return_value);executed 487 times by 1 test: return (return_value); | 487 |
535 | } | - |
536 | | - |
537 | | - |
538 | | - |
539 | | - |
540 | | - |
541 | static int | - |
542 | shell_comment (line) | - |
543 | char *line; | - |
544 | { | - |
545 | char *p; | - |
546 | int n; | - |
547 | | - |
548 | if (line == 0TRUE | never evaluated | FALSE | evaluated 506 times by 1 test |
) | 0-506 |
549 | return never executed: return 0; 0;never executed: return 0; | 0 |
550 | for (p = line; pTRUE | evaluated 508 times by 1 test | FALSE | never evaluated |
&& *TRUE | evaluated 508 times by 1 test | FALSE | never evaluated |
pTRUE | evaluated 508 times by 1 test | FALSE | never evaluated |
&& (((*TRUE | never evaluated | FALSE | evaluated 508 times by 1 test |
p) == ' ')TRUE | never evaluated | FALSE | evaluated 508 times by 1 test |
|| ((*TRUE | evaluated 2 times by 1 test | FALSE | evaluated 506 times by 1 test |
p) == '\t')TRUE | evaluated 2 times by 1 test | FALSE | evaluated 506 times by 1 test |
); p++) | 0-508 |
551 | ;executed 2 times by 1 test: ; | 2 |
552 | if (pTRUE | evaluated 506 times by 1 test | FALSE | never evaluated |
&& *TRUE | evaluated 25 times by 1 test | FALSE | evaluated 481 times by 1 test |
p == '#'TRUE | evaluated 25 times by 1 test | FALSE | evaluated 481 times by 1 test |
) | 0-506 |
553 | returnexecuted 25 times by 1 test: return 1; 1;executed 25 times by 1 test: return 1; | 25 |
554 | n = skip_to_delim (line, p - line, "#", 0x001|0x040|0x010|0x100); | - |
555 | returnexecuted 481 times by 1 test: return (line[n] == '#') ? 2 : 0; (line[n] == '#') ? 2 : 0;executed 481 times by 1 test: return (line[n] == '#') ? 2 : 0; | 481 |
556 | } | - |
557 | static int | - |
558 | check_history_control (line) | - |
559 | char *line; | - |
560 | { | - |
561 | HIST_ENTRY *temp; | - |
562 | int r; | - |
563 | | - |
564 | if (history_control == 0TRUE | evaluated 342 times by 1 test | FALSE | evaluated 149 times by 1 test |
) | 149-342 |
565 | returnexecuted 342 times by 1 test: return 1; 1;executed 342 times by 1 test: return 1; | 342 |
566 | | - |
567 | | - |
568 | if ((TRUE | evaluated 149 times by 1 test | FALSE | never evaluated |
history_control & 0x01)TRUE | evaluated 149 times by 1 test | FALSE | never evaluated |
&& *TRUE | never evaluated | FALSE | evaluated 149 times by 1 test |
line == ' 'TRUE | never evaluated | FALSE | evaluated 149 times by 1 test |
) | 0-149 |
569 | return never executed: return 0; 0;never executed: return 0; | 0 |
570 | | - |
571 | | - |
572 | if (history_control & 0x02TRUE | evaluated 149 times by 1 test | FALSE | never evaluated |
) | 0-149 |
573 | { | - |
574 | using_history (); | - |
575 | temp = previous_history (); | - |
576 | | - |
577 | r = (temp == 0TRUE | evaluated 1 time by 1 test | FALSE | evaluated 148 times by 1 test |
|| ((TRUE | evaluated 63 times by 1 test | FALSE | evaluated 85 times by 1 test |
temp->line)[0] == (line)[0]TRUE | evaluated 63 times by 1 test | FALSE | evaluated 85 times by 1 test |
&& TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 1-148 |
578 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
579 | temp->lineTRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
580 | ) && __builtin_constant_p (TRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
581 | lineTRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
582 | ) && (__s1_len = __builtin_strlen (TRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
583 | temp->lineTRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
584 | ), __s2_len = __builtin_strlen (TRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
585 | lineTRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
586 | ), (!((size_t)(const void *)((TRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
587 | temp->lineTRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
588 | ) + 1) - (size_t)(const void *)(TRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
589 | temp->lineTRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
590 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
591 | lineTRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
592 | ) + 1) - (size_t)(const void *)(TRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
593 | lineTRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
594 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
595 | temp->lineTRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
596 | , TRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
597 | lineTRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
598 | ) : (__builtin_constant_p (TRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
599 | temp->lineTRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
600 | ) && ((size_t)(const void *)((TRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
601 | temp->lineTRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
602 | ) + 1) - (size_t)(const void *)(TRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
603 | temp->lineTRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
604 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
605 | temp->lineTRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
606 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
607 | lineTRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
608 | ) && ((size_t)(const void *)((TRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
609 | lineTRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
610 | ) + 1) - (size_t)(const void *)(TRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
611 | lineTRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
612 | ) == 1) ? __builtin_strcmp (TRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
613 | temp->lineTRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
614 | , TRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
615 | lineTRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
616 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
617 | lineTRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
618 | ); int __result = (((const unsigned char *) (const char *) (TRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
619 | temp->lineTRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
620 | ))[0] - __s2[0]); if (__s1_len > 0TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 0-137 |
621 | temp->lineTRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
622 | ))[1] - __s2[1]); if (__s1_len > 1TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 0-137 |
623 | temp->lineTRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
624 | ))[2] - __s2[2]); if (__s1_len > 2TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( temp->line ))[3] - __s2[3]); TRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 0-137 |
625 | temp->lineTRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
never executed: __result = (((const unsigned char *) (const char *) ( temp->line ))[3] - __s2[3]); | 0-137 |
626 | ))[3] - __s2[3]);TRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
never executed: __result = (((const unsigned char *) (const char *) ( temp->line ))[3] - __s2[3]); }never executed: end of block }never executed: end of block __result; }))) : (__builtin_constant_p (TRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 0-137 |
627 | lineTRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
628 | ) && ((size_t)(const void *)((TRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
629 | lineTRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
630 | ) + 1) - (size_t)(const void *)(TRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
631 | lineTRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
632 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
633 | lineTRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
634 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
635 | temp->lineTRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
636 | ) && ((size_t)(const void *)((TRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
637 | temp->lineTRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
638 | ) + 1) - (size_t)(const void *)(TRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
639 | temp->lineTRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
640 | ) == 1) ? __builtin_strcmp (TRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
641 | temp->lineTRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
642 | , TRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
643 | lineTRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
644 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
645 | temp->lineTRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
646 | ); int __result = (((const unsigned char *) (const char *) (TRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
647 | lineTRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
648 | ))[0] - __s2[0]); if (__s2_len > 0TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 0-137 |
649 | lineTRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
650 | ))[1] - __s2[1]); if (__s2_len > 1TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 0-137 |
651 | lineTRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
652 | ))[2] - __s2[2]); if (__s2_len > 2TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( line ))[3] - __s2[3]); TRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 0-137 |
653 | lineTRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
never executed: __result = (((const unsigned char *) (const char *) ( line ))[3] - __s2[3]); | 0-137 |
654 | ))[3] - __s2[3]);TRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
never executed: __result = (((const unsigned char *) (const char *) ( line ))[3] - __s2[3]); }never executed: end of block }never executed: end of block __result; }))) : __builtin_strcmp (TRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 0-137 |
655 | temp->lineTRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
656 | , TRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
657 | lineTRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
658 | )))); }) TRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
| 11-137 |
659 | == 0TRUE | evaluated 11 times by 1 test | FALSE | evaluated 52 times by 1 test |
) == 0TRUE | evaluated 137 times by 1 test | FALSE | evaluated 11 times by 1 test |
); | 11-137 |
660 | | - |
661 | using_history (); | - |
662 | | - |
663 | if (r == 0TRUE | evaluated 11 times by 1 test | FALSE | evaluated 138 times by 1 test |
) | 11-138 |
664 | returnexecuted 11 times by 1 test: return r; r;executed 11 times by 1 test: return r; | 11 |
665 | }executed 138 times by 1 test: end of block | 138 |
666 | | - |
667 | returnexecuted 138 times by 1 test: return 1; 1;executed 138 times by 1 test: return 1; | 138 |
668 | } | - |
669 | | - |
670 | | - |
671 | | - |
672 | static void | - |
673 | hc_erasedups (line) | - |
674 | char *line; | - |
675 | { | - |
676 | HIST_ENTRY *temp; | - |
677 | int r; | - |
678 | | - |
679 | using_history (); | - |
680 | while (temp = previous_history ()TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
681 | { | - |
682 | if (((TRUE | never evaluated | FALSE | never evaluated |
temp->line)[0] == (line)[0]TRUE | never evaluated | FALSE | never evaluated |
&& | 0 |
683 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
684 | temp->lineTRUE | never evaluated | FALSE | never evaluated |
| 0 |
685 | ) && __builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
686 | lineTRUE | never evaluated | FALSE | never evaluated |
| 0 |
687 | ) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
688 | temp->lineTRUE | never evaluated | FALSE | never evaluated |
| 0 |
689 | ), __s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
690 | lineTRUE | never evaluated | FALSE | never evaluated |
| 0 |
691 | ), (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
692 | temp->lineTRUE | never evaluated | FALSE | never evaluated |
| 0 |
693 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
694 | temp->lineTRUE | never evaluated | FALSE | never evaluated |
| 0 |
695 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
696 | lineTRUE | never evaluated | FALSE | never evaluated |
| 0 |
697 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
698 | lineTRUE | never evaluated | FALSE | never evaluated |
| 0 |
699 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
700 | temp->lineTRUE | never evaluated | FALSE | never evaluated |
| 0 |
701 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
702 | lineTRUE | never evaluated | FALSE | never evaluated |
| 0 |
703 | ) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
704 | temp->lineTRUE | never evaluated | FALSE | never evaluated |
| 0 |
705 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
706 | temp->lineTRUE | never evaluated | FALSE | never evaluated |
| 0 |
707 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
708 | temp->lineTRUE | never evaluated | FALSE | never evaluated |
| 0 |
709 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
710 | temp->lineTRUE | never evaluated | FALSE | never evaluated |
| 0 |
711 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
712 | lineTRUE | never evaluated | FALSE | never evaluated |
| 0 |
713 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
714 | lineTRUE | never evaluated | FALSE | never evaluated |
| 0 |
715 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
716 | lineTRUE | never evaluated | FALSE | never evaluated |
| 0 |
717 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
718 | temp->lineTRUE | never evaluated | FALSE | never evaluated |
| 0 |
719 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
720 | lineTRUE | never evaluated | FALSE | never evaluated |
| 0 |
721 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
722 | lineTRUE | never evaluated | FALSE | never evaluated |
| 0 |
723 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
724 | temp->lineTRUE | never evaluated | FALSE | never evaluated |
| 0 |
725 | ))[0] - __s2[0]); if (__s1_len > 0TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
726 | temp->lineTRUE | never evaluated | FALSE | never evaluated |
| 0 |
727 | ))[1] - __s2[1]); if (__s1_len > 1TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
728 | temp->lineTRUE | never evaluated | FALSE | never evaluated |
| 0 |
729 | ))[2] - __s2[2]); if (__s1_len > 2TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( temp->line ))[3] - __s2[3]); | 0 |
730 | temp->lineTRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( temp->line ))[3] - __s2[3]); | 0 |
731 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
732 | lineTRUE | never evaluated | FALSE | never evaluated |
| 0 |
733 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
734 | lineTRUE | never evaluated | FALSE | never evaluated |
| 0 |
735 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
736 | lineTRUE | never evaluated | FALSE | never evaluated |
| 0 |
737 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
738 | lineTRUE | never evaluated | FALSE | never evaluated |
| 0 |
739 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
740 | temp->lineTRUE | never evaluated | FALSE | never evaluated |
| 0 |
741 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
742 | temp->lineTRUE | never evaluated | FALSE | never evaluated |
| 0 |
743 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
744 | temp->lineTRUE | never evaluated | FALSE | never evaluated |
| 0 |
745 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
746 | temp->lineTRUE | never evaluated | FALSE | never evaluated |
| 0 |
747 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
748 | lineTRUE | never evaluated | FALSE | never evaluated |
| 0 |
749 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
750 | temp->lineTRUE | never evaluated | FALSE | never evaluated |
| 0 |
751 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
752 | lineTRUE | never evaluated | FALSE | never evaluated |
| 0 |
753 | ))[0] - __s2[0]); if (__s2_len > 0TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
754 | lineTRUE | never evaluated | FALSE | never evaluated |
| 0 |
755 | ))[1] - __s2[1]); if (__s2_len > 1TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
756 | lineTRUE | never evaluated | FALSE | never evaluated |
| 0 |
757 | ))[2] - __s2[2]); if (__s2_len > 2TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( line ))[3] - __s2[3]); | 0 |
758 | lineTRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( line ))[3] - __s2[3]); | 0 |
759 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
760 | temp->lineTRUE | never evaluated | FALSE | never evaluated |
| 0 |
761 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
762 | lineTRUE | never evaluated | FALSE | never evaluated |
| 0 |
763 | )))); }) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
764 | == 0TRUE | never evaluated | FALSE | never evaluated |
)) | 0 |
765 | { | - |
766 | r = where_history (); | - |
767 | temp = remove_history (r); | - |
768 | if (tempTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
769 | free_history_entry (temp); never executed: free_history_entry (temp); | 0 |
770 | } never executed: end of block | 0 |
771 | } never executed: end of block | 0 |
772 | using_history (); | - |
773 | } never executed: end of block | 0 |
774 | void | - |
775 | maybe_add_history (line) | - |
776 | char *line; | - |
777 | { | - |
778 | int is_comment; | - |
779 | | - |
780 | hist_last_line_added = 0; | - |
781 | is_comment = shell_comment (line); | - |
782 | | - |
783 | | - |
784 | | - |
785 | | - |
786 | if (current_command_line_count > 1TRUE | evaluated 9 times by 1 test | FALSE | evaluated 488 times by 1 test |
) | 9-488 |
787 | { | - |
788 | if (current_command_first_line_savedTRUE | evaluated 9 times by 1 test | FALSE | never evaluated |
&& | 0-9 |
789 | ((TRUE | evaluated 4 times by 1 test | FALSE | evaluated 5 times by 1 test |
parser_state & 0x020000)TRUE | evaluated 4 times by 1 test | FALSE | evaluated 5 times by 1 test |
|| literal_historyTRUE | never evaluated | FALSE | evaluated 5 times by 1 test |
|| dstack.delimiter_depth != 0TRUE | never evaluated | FALSE | evaluated 5 times by 1 test |
|| is_comment != 1TRUE | evaluated 5 times by 1 test | FALSE | never evaluated |
)) | 0-5 |
790 | bash_add_history (line);executed 9 times by 1 test: bash_add_history (line); | 9 |
791 | current_command_line_comment = is_commentTRUE | never evaluated | FALSE | evaluated 9 times by 1 test |
? current_command_line_count : -2; | 0-9 |
792 | return;executed 9 times by 1 test: return; | 9 |
793 | } | - |
794 | | - |
795 | | - |
796 | | - |
797 | current_command_line_comment = is_commentTRUE | evaluated 26 times by 1 test | FALSE | evaluated 462 times by 1 test |
? current_command_line_count : -2; | 26-462 |
798 | current_command_first_line_saved = check_add_history (line, 0); | - |
799 | }executed 488 times by 1 test: end of block | 488 |
800 | | - |
801 | | - |
802 | | - |
803 | | - |
804 | int | - |
805 | check_add_history (line, force) | - |
806 | char *line; | - |
807 | int force; | - |
808 | { | - |
809 | if (check_history_control (line)TRUE | evaluated 480 times by 1 test | FALSE | evaluated 11 times by 1 test |
&& history_should_ignore (line) == 0TRUE | evaluated 430 times by 1 test | FALSE | evaluated 50 times by 1 test |
) | 11-480 |
810 | { | - |
811 | | - |
812 | | - |
813 | if (history_control & 0x04TRUE | never evaluated | FALSE | evaluated 430 times by 1 test |
) | 0-430 |
814 | hc_erasedups (line); never executed: hc_erasedups (line); | 0 |
815 | | - |
816 | if (forceTRUE | evaluated 3 times by 1 test | FALSE | evaluated 427 times by 1 test |
) | 3-427 |
817 | { | - |
818 | really_add_history (line); | - |
819 | using_history (); | - |
820 | }executed 3 times by 1 test: end of block | 3 |
821 | else | - |
822 | bash_add_history (line);executed 427 times by 1 test: bash_add_history (line); | 427 |
823 | returnexecuted 430 times by 1 test: return 1; 1;executed 430 times by 1 test: return 1; | 430 |
824 | } | - |
825 | returnexecuted 61 times by 1 test: return 0; 0;executed 61 times by 1 test: return 0; | 61 |
826 | } | - |
827 | void | - |
828 | bash_add_history (line) | - |
829 | char *line; | - |
830 | { | - |
831 | int add_it, offset, curlen; | - |
832 | HIST_ENTRY *current, *old; | - |
833 | char *chars_to_add, *new_line; | - |
834 | | - |
835 | add_it = 1; | - |
836 | if (command_oriented_historyTRUE | evaluated 436 times by 1 test | FALSE | never evaluated |
&& current_command_line_count > 1TRUE | evaluated 9 times by 1 test | FALSE | evaluated 427 times by 1 test |
) | 0-436 |
837 | { | - |
838 | | - |
839 | | - |
840 | | - |
841 | | - |
842 | | - |
843 | | - |
844 | | - |
845 | if ((TRUE | evaluated 4 times by 1 test | FALSE | evaluated 5 times by 1 test |
parser_state & 0x020000)TRUE | evaluated 4 times by 1 test | FALSE | evaluated 5 times by 1 test |
&& literal_historyTRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
&& current_command_line_count > 2TRUE | never evaluated | FALSE | never evaluated |
&& line[strlen (line) - 1] == '\n'TRUE | never evaluated | FALSE | never evaluated |
) | 0-5 |
846 | chars_to_add = ""; never executed: chars_to_add = ""; | 0 |
847 | else if (current_command_line_count == current_command_line_comment+1TRUE | never evaluated | FALSE | evaluated 9 times by 1 test |
) | 0-9 |
848 | chars_to_add = "\n"; never executed: chars_to_add = "\n"; | 0 |
849 | else if (literal_historyTRUE | never evaluated | FALSE | evaluated 9 times by 1 test |
) | 0-9 |
850 | chars_to_add = "\n"; never executed: chars_to_add = "\n"; | 0 |
851 | else | - |
852 | chars_to_add = history_delimiting_chars (line);executed 9 times by 1 test: chars_to_add = history_delimiting_chars (line); | 9 |
853 | | - |
854 | using_history (); | - |
855 | current = previous_history (); | - |
856 | | - |
857 | current_command_line_comment = shell_comment (line)TRUE | never evaluated | FALSE | evaluated 9 times by 1 test |
? current_command_line_count : -2; | 0-9 |
858 | | - |
859 | if (currentTRUE | evaluated 9 times by 1 test | FALSE | never evaluated |
) | 0-9 |
860 | { | - |
861 | | - |
862 | | - |
863 | | - |
864 | curlen = strlen (current->line); | - |
865 | | - |
866 | if (dstack.delimiter_depth == 0TRUE | evaluated 9 times by 1 test | FALSE | never evaluated |
&& current->line[curlen - 1] == '\\'TRUE | never evaluated | FALSE | evaluated 9 times by 1 test |
&& | 0-9 |
867 | current->line[curlen - 2] != '\\'TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
868 | { | - |
869 | current->line[curlen - 1] = '\0'; | - |
870 | curlen--; | - |
871 | chars_to_add = ""; | - |
872 | } never executed: end of block | 0 |
873 | | - |
874 | | - |
875 | | - |
876 | | - |
877 | | - |
878 | if (dstack.delimiter_depth == 0TRUE | evaluated 9 times by 1 test | FALSE | never evaluated |
&& current->line[curlen - 1] == '\n'TRUE | evaluated 3 times by 1 test | FALSE | evaluated 6 times by 1 test |
&& *TRUE | never evaluated | FALSE | evaluated 3 times by 1 test |
chars_to_add == ';'TRUE | never evaluated | FALSE | evaluated 3 times by 1 test |
) | 0-9 |
879 | chars_to_add++; never executed: chars_to_add++; | 0 |
880 | | - |
881 | new_line = (char *)sh_xmalloc((1 + curlen + strlen (line) + strlen (chars_to_add)), | - |
882 | | - |
883 | | - |
884 | "bashhist.c" | - |
885 | , | - |
886 | | - |
887 | | - |
888 | 869 | - |
889 | ) | - |
890 | | - |
891 | | - |
892 | ; | - |
893 | sprintf (new_line, "%s%s%s", current->line, chars_to_add, line); | - |
894 | offset = where_history (); | - |
895 | old = replace_history_entry (offset, new_line, current->data); | - |
896 | sh_xfree((new_line), "bashhist.c", 873); | - |
897 | | - |
898 | if (oldTRUE | evaluated 9 times by 1 test | FALSE | never evaluated |
) | 0-9 |
899 | free_history_entry (old);executed 9 times by 1 test: free_history_entry (old); | 9 |
900 | | - |
901 | add_it = 0; | - |
902 | }executed 9 times by 1 test: end of block | 9 |
903 | }executed 9 times by 1 test: end of block | 9 |
904 | | - |
905 | if (add_itTRUE | evaluated 427 times by 1 test | FALSE | evaluated 9 times by 1 test |
) | 9-427 |
906 | really_add_history (line);executed 427 times by 1 test: really_add_history (line); | 427 |
907 | | - |
908 | | - |
909 | | - |
910 | | - |
911 | | - |
912 | using_history (); | - |
913 | }executed 436 times by 1 test: end of block | 436 |
914 | | - |
915 | static void | - |
916 | really_add_history (line) | - |
917 | char *line; | - |
918 | { | - |
919 | hist_last_line_added = 1; | - |
920 | hist_last_line_pushed = 0; | - |
921 | add_history (line); | - |
922 | history_lines_this_session++; | - |
923 | }executed 430 times by 1 test: end of block | 430 |
924 | | - |
925 | int | - |
926 | history_number () | - |
927 | { | - |
928 | using_history (); | - |
929 | return never executed: return (remember_on_history ? history_base + where_history () : 1); (remember_on_history ? history_base + where_history () : 1);never executed: return (remember_on_history ? history_base + where_history () : 1); | 0 |
930 | } | - |
931 | | - |
932 | static int | - |
933 | should_expand (s) | - |
934 | char *s; | - |
935 | { | - |
936 | char *p; | - |
937 | | - |
938 | for (p = s; pTRUE | evaluated 31 times by 1 test | FALSE | never evaluated |
&& *TRUE | evaluated 26 times by 1 test | FALSE | evaluated 5 times by 1 test |
pTRUE | evaluated 26 times by 1 test | FALSE | evaluated 5 times by 1 test |
; p++) | 0-31 |
939 | { | - |
940 | if (*TRUE | never evaluated | FALSE | evaluated 26 times by 1 test |
p == '\\'TRUE | never evaluated | FALSE | evaluated 26 times by 1 test |
) | 0-26 |
941 | p++; never executed: p++; | 0 |
942 | else if (*TRUE | evaluated 2 times by 1 test | FALSE | evaluated 24 times by 1 test |
p == '&'TRUE | evaluated 2 times by 1 test | FALSE | evaluated 24 times by 1 test |
) | 2-24 |
943 | returnexecuted 2 times by 1 test: return 1; 1;executed 2 times by 1 test: return 1; | 2 |
944 | }executed 24 times by 1 test: end of block | 24 |
945 | returnexecuted 5 times by 1 test: return 0; 0;executed 5 times by 1 test: return 0; | 5 |
946 | } | - |
947 | | - |
948 | static int | - |
949 | histignore_item_func (ign) | - |
950 | struct ign *ign; | - |
951 | { | - |
952 | if (should_expand (ign->val)TRUE | evaluated 2 times by 1 test | FALSE | evaluated 5 times by 1 test |
) | 2-5 |
953 | ign->flags |= 0x01;executed 2 times by 1 test: ign->flags |= 0x01; | 2 |
954 | returnexecuted 7 times by 1 test: return (0); (0);executed 7 times by 1 test: return (0); | 7 |
955 | } | - |
956 | | - |
957 | void | - |
958 | setup_history_ignore (varname) | - |
959 | char *varname; | - |
960 | { | - |
961 | setup_ignore_patterns (&histignore); | - |
962 | }executed 38 times by 1 test: end of block | 38 |
963 | | - |
964 | static HIST_ENTRY * | - |
965 | last_history_entry () | - |
966 | { | - |
967 | HIST_ENTRY *he; | - |
968 | | - |
969 | using_history (); | - |
970 | he = previous_history (); | - |
971 | using_history (); | - |
972 | returnexecuted 137 times by 1 test: return he; he;executed 137 times by 1 test: return he; | 137 |
973 | } | - |
974 | | - |
975 | char * | - |
976 | last_history_line () | - |
977 | { | - |
978 | HIST_ENTRY *he; | - |
979 | | - |
980 | he = last_history_entry (); | - |
981 | if (he == 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
982 | return never executed: return ((char *) ((void *)0) ); ((char *)never executed: return ((char *) ((void *)0) ); | 0 |
983 | ((void *)0) never executed: return ((char *) ((void *)0) ); | 0 |
984 | ); never executed: return ((char *) ((void *)0) ); | 0 |
985 | return never executed: return he->line; he->line;never executed: return he->line; | 0 |
986 | } | - |
987 | | - |
988 | static char * | - |
989 | expand_histignore_pattern (pat) | - |
990 | char *pat; | - |
991 | { | - |
992 | HIST_ENTRY *phe; | - |
993 | char *ret; | - |
994 | | - |
995 | phe = last_history_entry (); | - |
996 | | - |
997 | if (phe == (HIST_ENTRY *)0TRUE | evaluated 1 time by 1 test | FALSE | evaluated 136 times by 1 test |
) | 1-136 |
998 | returnexecuted 1 time by 1 test: return ((char *)strcpy (sh_xmalloc((1 + strlen (pat)), "bashhist.c", 973), (pat))); ((char *)strcpy (sh_xmalloc((1 + strlen (pat)), "bashhist.c", 973), (pat)));executed 1 time by 1 test: return ((char *)strcpy (sh_xmalloc((1 + strlen (pat)), "bashhist.c", 973), (pat))); | 1 |
999 | | - |
1000 | ret = strcreplace (pat, '&', phe->line, 1); | - |
1001 | | - |
1002 | returnexecuted 136 times by 1 test: return ret; ret;executed 136 times by 1 test: return ret; | 136 |
1003 | } | - |
1004 | | - |
1005 | | - |
1006 | | - |
1007 | static int | - |
1008 | history_should_ignore (line) | - |
1009 | char *line; | - |
1010 | { | - |
1011 | register int i, match; | - |
1012 | char *npat; | - |
1013 | | - |
1014 | if (histignore.num_ignores == 0TRUE | evaluated 343 times by 1 test | FALSE | evaluated 137 times by 1 test |
) | 137-343 |
1015 | returnexecuted 343 times by 1 test: return 0; 0;executed 343 times by 1 test: return 0; | 343 |
1016 | | - |
1017 | for (i = match = 0; i < histignore.num_ignoresTRUE | evaluated 437 times by 1 test | FALSE | evaluated 87 times by 1 test |
; i++) | 87-437 |
1018 | { | - |
1019 | if (histignore.ignores[i].flags & 0x01TRUE | evaluated 137 times by 1 test | FALSE | evaluated 300 times by 1 test |
) | 137-300 |
1020 | npat = expand_histignore_pattern (histignore.ignores[i].val);executed 137 times by 1 test: npat = expand_histignore_pattern (histignore.ignores[i].val); | 137 |
1021 | else | - |
1022 | npat = histignore.ignores[i].val;executed 300 times by 1 test: npat = histignore.ignores[i].val; | 300 |
1023 | | - |
1024 | match = strmatch (npat, line, (extended_glob ? (1 << 5) : 0)) != 1; | - |
1025 | | - |
1026 | if (histignore.ignores[i].flags & 0x01TRUE | evaluated 137 times by 1 test | FALSE | evaluated 300 times by 1 test |
) | 137-300 |
1027 | sh_xfree((npat), "bashhist.c", 1002);executed 137 times by 1 test: sh_xfree((npat), "bashhist.c", 1002); | 137 |
1028 | | - |
1029 | if (matchTRUE | evaluated 50 times by 1 test | FALSE | evaluated 387 times by 1 test |
) | 50-387 |
1030 | break;executed 50 times by 1 test: break; | 50 |
1031 | }executed 387 times by 1 test: end of block | 387 |
1032 | | - |
1033 | returnexecuted 137 times by 1 test: return match; match;executed 137 times by 1 test: return match; | 137 |
1034 | } | - |
| | |