Line | Source | Count |
1 | | - |
2 | | - |
3 | | - |
4 | | - |
5 | | - |
6 | | - |
7 | | - |
8 | | - |
9 | | - |
10 | | - |
11 | | - |
12 | | - |
13 | | - |
14 | | - |
15 | static void maybe_pop_dollar_vars (void); | - |
16 | | - |
17 | | - |
18 | int source_uses_path = 1; | - |
19 | | - |
20 | | - |
21 | | - |
22 | int source_searches_cwd = 1; | - |
23 | | - |
24 | | - |
25 | | - |
26 | | - |
27 | | - |
28 | | - |
29 | | - |
30 | static void | - |
31 | maybe_pop_dollar_vars () | - |
32 | { | - |
33 | if (variable_context == 0TRUE | evaluated 1197 times by 1 test | FALSE | never evaluated |
&& (TRUE | evaluated 7 times by 1 test | FALSE | evaluated 1190 times by 1 test |
dollar_vars_changed () & 0x04)TRUE | evaluated 7 times by 1 test | FALSE | evaluated 1190 times by 1 test |
) | 0-1197 |
34 | dispose_saved_dollar_vars ();executed 7 times by 1 test: dispose_saved_dollar_vars (); | 7 |
35 | else | - |
36 | pop_dollar_vars ();executed 1190 times by 1 test: pop_dollar_vars (); | 1190 |
37 | if (debugging_modeTRUE | never evaluated | FALSE | evaluated 1197 times by 1 test |
) | 0-1197 |
38 | pop_args (); never executed: pop_args (); | 0 |
39 | set_dollar_vars_unchanged (); | - |
40 | invalidate_cached_quoted_dollar_at (); | - |
41 | }executed 1197 times by 1 test: end of block | 1197 |
42 | | - |
43 | | - |
44 | | - |
45 | | - |
46 | | - |
47 | int | - |
48 | source_builtin (list) | - |
49 | WORD_LIST *list; | - |
50 | { | - |
51 | int result; | - |
52 | char *filename, *debug_trap, *x; | - |
53 | | - |
54 | if (no_options (list)TRUE | evaluated 2 times by 1 test | FALSE | evaluated 1403 times by 1 test |
) | 2-1403 |
55 | returnexecuted 2 times by 1 test: return (258); (258);executed 2 times by 1 test: return (258); | 2 |
56 | list = loptend; | - |
57 | | - |
58 | if (list == 0TRUE | evaluated 2 times by 1 test | FALSE | evaluated 1401 times by 1 test |
) | 2-1401 |
59 | { | - |
60 | builtin_error ( | - |
61 | dcgettext (((void *)0), | - |
62 | "filename argument required" | - |
63 | , 5) | - |
64 | ); | - |
65 | builtin_usage (); | - |
66 | returnexecuted 2 times by 1 test: return (258); (258);executed 2 times by 1 test: return (258); | 2 |
67 | } | - |
68 | | - |
69 | | - |
70 | if (restrictedTRUE | evaluated 1 time by 1 test | FALSE | evaluated 1400 times by 1 test |
&& | 1-1400 |
71 | (TRUE | evaluated 1 time by 1 test | FALSE | never evaluated |
__extension__ (__builtin_constant_p (TRUE | evaluated 1 time by 1 test | FALSE | never evaluated |
TRUE | evaluated 1 time by 1 test | FALSE | never evaluated |
| 0-1 |
72 | '/'TRUE | evaluated 1 time by 1 test | FALSE | never evaluated |
TRUE | evaluated 1 time by 1 test | FALSE | never evaluated |
| 0-1 |
73 | )TRUE | evaluated 1 time by 1 test | FALSE | never evaluated |
&& !__builtin_constant_p (TRUE | evaluated 1 time by 1 test | FALSE | never evaluated |
TRUE | evaluated 1 time by 1 test | FALSE | never evaluated |
| 0-1 |
74 | list->word->wordTRUE | evaluated 1 time by 1 test | FALSE | never evaluated |
TRUE | evaluated 1 time by 1 test | FALSE | never evaluated |
| 0-1 |
75 | )TRUE | evaluated 1 time by 1 test | FALSE | never evaluated |
&& (TRUE | never evaluated | FALSE | evaluated 1 time by 1 test |
TRUE | evaluated 1 time by 1 test | FALSE | never evaluated |
| 0-1 |
76 | '/'TRUE | never evaluated | FALSE | evaluated 1 time by 1 test |
TRUE | evaluated 1 time by 1 test | FALSE | never evaluated |
| 0-1 |
77 | ) == '\0'TRUE | never evaluated | FALSE | evaluated 1 time by 1 test |
? (char *) __rawmemchr (TRUE | evaluated 1 time by 1 test | FALSE | never evaluated |
| 0-1 |
78 | list->word->wordTRUE | evaluated 1 time by 1 test | FALSE | never evaluated |
| 0-1 |
79 | , TRUE | evaluated 1 time by 1 test | FALSE | never evaluated |
| 0-1 |
80 | '/'TRUE | evaluated 1 time by 1 test | FALSE | never evaluated |
| 0-1 |
81 | ) : __builtin_strchr (TRUE | evaluated 1 time by 1 test | FALSE | never evaluated |
| 0-1 |
82 | list->word->wordTRUE | evaluated 1 time by 1 test | FALSE | never evaluated |
| 0-1 |
83 | , TRUE | evaluated 1 time by 1 test | FALSE | never evaluated |
| 0-1 |
84 | '/'TRUE | evaluated 1 time by 1 test | FALSE | never evaluated |
| 0-1 |
85 | )))TRUE | evaluated 1 time by 1 test | FALSE | never evaluated |
| 0-1 |
86 | ) | - |
87 | { | - |
88 | sh_restricted (list->word->word); | - |
89 | returnexecuted 1 time by 1 test: return (1); (1);executed 1 time by 1 test: return (1); | 1 |
90 | } | - |
91 | | - |
92 | | - |
93 | filename = (char *) | - |
94 | ((void *)0) | - |
95 | ; | - |
96 | | - |
97 | if (posixly_correctTRUE | evaluated 9 times by 1 test | FALSE | evaluated 1391 times by 1 test |
&& | 9-1391 |
98 | (TRUE | evaluated 9 times by 1 test | FALSE | never evaluated |
__extension__ (__builtin_constant_p (TRUE | evaluated 9 times by 1 test | FALSE | never evaluated |
TRUE | evaluated 9 times by 1 test | FALSE | never evaluated |
| 0-9 |
99 | '/'TRUE | evaluated 9 times by 1 test | FALSE | never evaluated |
TRUE | evaluated 9 times by 1 test | FALSE | never evaluated |
| 0-9 |
100 | )TRUE | evaluated 9 times by 1 test | FALSE | never evaluated |
&& !__builtin_constant_p (TRUE | evaluated 9 times by 1 test | FALSE | never evaluated |
TRUE | evaluated 9 times by 1 test | FALSE | never evaluated |
| 0-9 |
101 | list->word->wordTRUE | evaluated 9 times by 1 test | FALSE | never evaluated |
TRUE | evaluated 9 times by 1 test | FALSE | never evaluated |
| 0-9 |
102 | )TRUE | evaluated 9 times by 1 test | FALSE | never evaluated |
&& (TRUE | never evaluated | FALSE | evaluated 9 times by 1 test |
TRUE | evaluated 9 times by 1 test | FALSE | never evaluated |
| 0-9 |
103 | '/'TRUE | never evaluated | FALSE | evaluated 9 times by 1 test |
TRUE | evaluated 9 times by 1 test | FALSE | never evaluated |
| 0-9 |
104 | ) == '\0'TRUE | never evaluated | FALSE | evaluated 9 times by 1 test |
? (char *) __rawmemchr (TRUE | evaluated 9 times by 1 test | FALSE | never evaluated |
| 0-9 |
105 | list->word->wordTRUE | evaluated 9 times by 1 test | FALSE | never evaluated |
| 0-9 |
106 | , TRUE | evaluated 9 times by 1 test | FALSE | never evaluated |
| 0-9 |
107 | '/'TRUE | evaluated 9 times by 1 test | FALSE | never evaluated |
| 0-9 |
108 | ) : __builtin_strchr (TRUE | evaluated 9 times by 1 test | FALSE | never evaluated |
| 0-9 |
109 | list->word->wordTRUE | evaluated 9 times by 1 test | FALSE | never evaluated |
| 0-9 |
110 | , TRUE | evaluated 9 times by 1 test | FALSE | never evaluated |
| 0-9 |
111 | '/'TRUE | evaluated 9 times by 1 test | FALSE | never evaluated |
| 0-9 |
112 | )))TRUE | evaluated 9 times by 1 test | FALSE | never evaluated |
| 0-9 |
113 | ) | - |
114 | filename = (char *)strcpy (sh_xmalloc((1 + strlen (list->word->word)), "./source.def", 144), (list->word->word));executed 9 times by 1 test: filename = (char *)strcpy (sh_xmalloc((1 + strlen (list->word->word)), "./source.def", 144), (list->word->word)); | 9 |
115 | else if (absolute_pathname (list->word->word)TRUE | evaluated 1377 times by 1 test | FALSE | evaluated 14 times by 1 test |
) | 14-1377 |
116 | filename = (char *)strcpy (sh_xmalloc((1 + strlen (list->word->word)), "./source.def", 146), (list->word->word));executed 1377 times by 1 test: filename = (char *)strcpy (sh_xmalloc((1 + strlen (list->word->word)), "./source.def", 146), (list->word->word)); | 1377 |
117 | else if (source_uses_pathTRUE | never evaluated | FALSE | evaluated 14 times by 1 test |
) | 0-14 |
118 | filename = find_path_file (list->word->word); never executed: filename = find_path_file (list->word->word); | 0 |
119 | if (filename == 0TRUE | evaluated 14 times by 1 test | FALSE | evaluated 1386 times by 1 test |
) | 14-1386 |
120 | { | - |
121 | if (source_searches_cwd == 0TRUE | never evaluated | FALSE | evaluated 14 times by 1 test |
) | 0-14 |
122 | { | - |
123 | x = printable_filename (list->word->word, 0); | - |
124 | builtin_error ( | - |
125 | dcgettext (((void *)0), | - |
126 | "%s: file not found" | - |
127 | , 5) | - |
128 | , x); | - |
129 | if (x != list->word->wordTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
130 | sh_xfree((x), "./source.def", 156); never executed: sh_xfree((x), "./source.def", 156); | 0 |
131 | if (posixly_correctTRUE | never evaluated | FALSE | never evaluated |
&& interactive_shell == 0TRUE | never evaluated | FALSE | never evaluated |
&& executing_command_builtin == 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
132 | { | - |
133 | last_command_exit_value = 1; | - |
134 | jump_to_top_level (3); | - |
135 | } never executed: end of block | 0 |
136 | return never executed: return (1); (1);never executed: return (1); | 0 |
137 | } | - |
138 | else | - |
139 | filename = (char *)strcpy (sh_xmalloc((1 + strlen (list->word->word)), "./source.def", 165), (list->word->word));executed 14 times by 1 test: filename = (char *)strcpy (sh_xmalloc((1 + strlen (list->word->word)), "./source.def", 165), (list->word->word)); | 14 |
140 | } | - |
141 | | - |
142 | begin_unwind_frame ("source"); | - |
143 | add_unwind_protect (xfree, filename); | - |
144 | | - |
145 | if (list->nextTRUE | evaluated 1207 times by 1 test | FALSE | evaluated 193 times by 1 test |
) | 193-1207 |
146 | { | - |
147 | push_dollar_vars (); | - |
148 | add_unwind_protect ((Function *)maybe_pop_dollar_vars, (char *) | - |
149 | ((void *)0) | - |
150 | ); | - |
151 | if (debugging_modeTRUE | never evaluated | FALSE | evaluated 1207 times by 1 test |
|| shell_compatibility_level <= 44TRUE | never evaluated | FALSE | evaluated 1207 times by 1 test |
) | 0-1207 |
152 | init_bash_argv (); never executed: init_bash_argv (); | 0 |
153 | remember_args (list->next, 1); | - |
154 | if (debugging_modeTRUE | never evaluated | FALSE | evaluated 1207 times by 1 test |
) | 0-1207 |
155 | push_args (list->next); never executed: push_args (list->next); | 0 |
156 | }executed 1207 times by 1 test: end of block | 1207 |
157 | set_dollar_vars_unchanged (); | - |
158 | | - |
159 | | - |
160 | | - |
161 | | - |
162 | debug_trap = (signal_is_trapped (TRUE | evaluated 28 times by 1 test | FALSE | evaluated 1372 times by 1 test |
| 28-1372 |
163 | 65TRUE | evaluated 28 times by 1 test | FALSE | evaluated 1372 times by 1 test |
| 28-1372 |
164 | )TRUE | evaluated 28 times by 1 test | FALSE | evaluated 1372 times by 1 test |
&& signal_is_ignored (TRUE | evaluated 28 times by 1 test | FALSE | never evaluated |
| 0-1372 |
165 | 65TRUE | evaluated 28 times by 1 test | FALSE | never evaluated |
| 0-28 |
166 | ) == 0TRUE | evaluated 28 times by 1 test | FALSE | never evaluated |
) ? trap_list[ | 0-28 |
167 | 65 | - |
168 | ] : (char *) | - |
169 | ((void *)0) | - |
170 | ; | - |
171 | if (debug_trapTRUE | evaluated 28 times by 1 test | FALSE | evaluated 1372 times by 1 test |
&& function_trace_mode == 0TRUE | evaluated 3 times by 1 test | FALSE | evaluated 25 times by 1 test |
) | 3-1372 |
172 | { | - |
173 | debug_trap = (char *)strcpy (sh_xmalloc((1 + strlen (debug_trap)), "./source.def", 189), (debug_trap)); | - |
174 | add_unwind_protect (xfree, debug_trap); | - |
175 | add_unwind_protect (maybe_set_debug_trap, debug_trap); | - |
176 | restore_default_signal ( | - |
177 | 65 | - |
178 | ); | - |
179 | }executed 3 times by 1 test: end of block | 3 |
180 | | - |
181 | result = source_file (filename, (list && list->next)); | - |
182 | | - |
183 | run_unwind_frame ("source"); | - |
184 | | - |
185 | returnexecuted 1386 times by 1 test: return (result); (result);executed 1386 times by 1 test: return (result); | 1386 |
186 | } | - |
| | |