Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/coreutils/src/src/nohup.c |
Switch to Source code | Preprocessed file |
Line | Source | Count | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | - | |||||||||||||||||||
2 | - | |||||||||||||||||||
3 | - | |||||||||||||||||||
4 | - | |||||||||||||||||||
5 | - | |||||||||||||||||||
6 | - | |||||||||||||||||||
7 | - | |||||||||||||||||||
8 | static struct option const long_options[] = | - | ||||||||||||||||||
9 | { | - | ||||||||||||||||||
10 | { | - | ||||||||||||||||||
11 | ((void *)0) | - | ||||||||||||||||||
12 | , 0, | - | ||||||||||||||||||
13 | ((void *)0) | - | ||||||||||||||||||
14 | , 0} | - | ||||||||||||||||||
15 | }; | - | ||||||||||||||||||
16 | - | |||||||||||||||||||
17 | - | |||||||||||||||||||
18 | enum | - | ||||||||||||||||||
19 | { | - | ||||||||||||||||||
20 | - | |||||||||||||||||||
21 | POSIX_NOHUP_FAILURE = 127 | - | ||||||||||||||||||
22 | }; | - | ||||||||||||||||||
23 | - | |||||||||||||||||||
24 | void | - | ||||||||||||||||||
25 | usage (int status) | - | ||||||||||||||||||
26 | { | - | ||||||||||||||||||
27 | if (status !=
| 3-5 | ||||||||||||||||||
28 | 0
| 3-5 | ||||||||||||||||||
29 | ) | - | ||||||||||||||||||
30 | do { fprintf ( | - | ||||||||||||||||||
31 | stderr | - | ||||||||||||||||||
32 | , | - | ||||||||||||||||||
33 | dcgettext (((void *)0), | - | ||||||||||||||||||
34 | "Try '%s --help' for more information.\n" | - | ||||||||||||||||||
35 | , 5) | - | ||||||||||||||||||
36 | , program_name); } executed 5 times by 1 test: while (0);end of block Executed by:
| 5 | ||||||||||||||||||
37 | else | - | ||||||||||||||||||
38 | { | - | ||||||||||||||||||
39 | printf ( | - | ||||||||||||||||||
40 | dcgettext (((void *)0), | - | ||||||||||||||||||
41 | "Usage: %s COMMAND [ARG]...\n or: %s OPTION\n" | - | ||||||||||||||||||
42 | , 5) | - | ||||||||||||||||||
43 | - | |||||||||||||||||||
44 | - | |||||||||||||||||||
45 | - | |||||||||||||||||||
46 | , | - | ||||||||||||||||||
47 | program_name, program_name); | - | ||||||||||||||||||
48 | - | |||||||||||||||||||
49 | fputs_unlocked ( | - | ||||||||||||||||||
50 | dcgettext (((void *)0), | - | ||||||||||||||||||
51 | "Run COMMAND, ignoring hangup signals.\n\n" | - | ||||||||||||||||||
52 | , 5) | - | ||||||||||||||||||
53 | , | - | ||||||||||||||||||
54 | stdout | - | ||||||||||||||||||
55 | ) | - | ||||||||||||||||||
56 | - | |||||||||||||||||||
57 | - | |||||||||||||||||||
58 | ; | - | ||||||||||||||||||
59 | fputs_unlocked ( | - | ||||||||||||||||||
60 | dcgettext (((void *)0), | - | ||||||||||||||||||
61 | " --help display this help and exit\n" | - | ||||||||||||||||||
62 | , 5) | - | ||||||||||||||||||
63 | , | - | ||||||||||||||||||
64 | stdout | - | ||||||||||||||||||
65 | ); | - | ||||||||||||||||||
66 | fputs_unlocked ( | - | ||||||||||||||||||
67 | dcgettext (((void *)0), | - | ||||||||||||||||||
68 | " --version output version information and exit\n" | - | ||||||||||||||||||
69 | , 5) | - | ||||||||||||||||||
70 | , | - | ||||||||||||||||||
71 | stdout | - | ||||||||||||||||||
72 | ); | - | ||||||||||||||||||
73 | printf ( | - | ||||||||||||||||||
74 | dcgettext (((void *)0), | - | ||||||||||||||||||
75 | "\nIf standard input is a terminal, redirect it from an unreadable file.\nIf standard output is a terminal, append output to 'nohup.out' if possible,\n'$HOME/nohup.out' otherwise.\nIf standard error is a terminal, redirect it to standard output.\nTo save output to FILE, use '%s COMMAND > FILE'.\n" | - | ||||||||||||||||||
76 | , 5) | - | ||||||||||||||||||
77 | - | |||||||||||||||||||
78 | - | |||||||||||||||||||
79 | - | |||||||||||||||||||
80 | - | |||||||||||||||||||
81 | - | |||||||||||||||||||
82 | , | - | ||||||||||||||||||
83 | program_name); | - | ||||||||||||||||||
84 | printf ( | - | ||||||||||||||||||
85 | dcgettext (((void *)0), | - | ||||||||||||||||||
86 | "\n" "NOTE: your shell may have its own version of %s, which usually supersedes\n" "the version described here. Please refer to your shell's documentation\n" "for details about the options it supports.\n" | - | ||||||||||||||||||
87 | , 5) | - | ||||||||||||||||||
88 | , "nohup"); | - | ||||||||||||||||||
89 | emit_ancillary_info ("nohup"); | - | ||||||||||||||||||
90 | } executed 3 times by 1 test: end of block Executed by:
| 3 | ||||||||||||||||||
91 | exit (status); executed 8 times by 1 test: exit (status); Executed by:
| 8 | ||||||||||||||||||
92 | } | - | ||||||||||||||||||
93 | - | |||||||||||||||||||
94 | int | - | ||||||||||||||||||
95 | main (int argc, char **argv) | - | ||||||||||||||||||
96 | { | - | ||||||||||||||||||
97 | int out_fd = | - | ||||||||||||||||||
98 | 1 | - | ||||||||||||||||||
99 | ; | - | ||||||||||||||||||
100 | int saved_stderr_fd = | - | ||||||||||||||||||
101 | 2 | - | ||||||||||||||||||
102 | ; | - | ||||||||||||||||||
103 | - | |||||||||||||||||||
104 | _Bool | - | ||||||||||||||||||
105 | ignoring_input; | - | ||||||||||||||||||
106 | - | |||||||||||||||||||
107 | _Bool | - | ||||||||||||||||||
108 | redirecting_stdout; | - | ||||||||||||||||||
109 | - | |||||||||||||||||||
110 | _Bool | - | ||||||||||||||||||
111 | stdout_is_closed; | - | ||||||||||||||||||
112 | - | |||||||||||||||||||
113 | _Bool | - | ||||||||||||||||||
114 | redirecting_stderr; | - | ||||||||||||||||||
115 | int exit_internal_failure; | - | ||||||||||||||||||
116 | - | |||||||||||||||||||
117 | ; | - | ||||||||||||||||||
118 | set_program_name (argv[0]); | - | ||||||||||||||||||
119 | setlocale ( | - | ||||||||||||||||||
120 | 6 | - | ||||||||||||||||||
121 | , ""); | - | ||||||||||||||||||
122 | bindtextdomain ("coreutils", "/usr/local/share/locale"); | - | ||||||||||||||||||
123 | textdomain ("coreutils"); | - | ||||||||||||||||||
124 | - | |||||||||||||||||||
125 | - | |||||||||||||||||||
126 | - | |||||||||||||||||||
127 | - | |||||||||||||||||||
128 | - | |||||||||||||||||||
129 | exit_internal_failure = (getenv ("POSIXLY_CORRECT")
| 1-14 | ||||||||||||||||||
130 | ? POSIX_NOHUP_FAILURE : EXIT_CANCELED); | - | ||||||||||||||||||
131 | initialize_exit_failure (exit_internal_failure); | - | ||||||||||||||||||
132 | atexit (close_stdout); | - | ||||||||||||||||||
133 | - | |||||||||||||||||||
134 | parse_long_options (argc, argv, "nohup", "GNU coreutils", Version, | - | ||||||||||||||||||
135 | usage, ("Jim Meyering"), (char const *) | - | ||||||||||||||||||
136 | ((void *)0) | - | ||||||||||||||||||
137 | ); | - | ||||||||||||||||||
138 | if (getopt_long (argc, argv, "+", long_options,
| 3-4 | ||||||||||||||||||
139 | ((void *)0)
| 3-4 | ||||||||||||||||||
140 | ) != -1
| 3-4 | ||||||||||||||||||
141 | usage (exit_internal_failure); executed 3 times by 1 test: usage (exit_internal_failure); Executed by:
| 3 | ||||||||||||||||||
142 | - | |||||||||||||||||||
143 | if (argc <= optind
| 2 | ||||||||||||||||||
144 | { | - | ||||||||||||||||||
145 | error (0, 0, | - | ||||||||||||||||||
146 | dcgettext (((void *)0), | - | ||||||||||||||||||
147 | "missing operand" | - | ||||||||||||||||||
148 | , 5) | - | ||||||||||||||||||
149 | ); | - | ||||||||||||||||||
150 | usage (exit_internal_failure); | - | ||||||||||||||||||
151 | } never executed: end of block | 0 | ||||||||||||||||||
152 | - | |||||||||||||||||||
153 | ignoring_input = isatty ( | - | ||||||||||||||||||
154 | 0 | - | ||||||||||||||||||
155 | ); | - | ||||||||||||||||||
156 | redirecting_stdout = isatty ( | - | ||||||||||||||||||
157 | 1 | - | ||||||||||||||||||
158 | ); | - | ||||||||||||||||||
159 | stdout_is_closed = (!redirecting_stdout
| 0-2 | ||||||||||||||||||
160 | (*
| 0-2 | ||||||||||||||||||
161 | ==
| 0-2 | ||||||||||||||||||
162 | 9
| 0-2 | ||||||||||||||||||
163 | ); | - | ||||||||||||||||||
164 | redirecting_stderr = isatty ( | - | ||||||||||||||||||
165 | 2 | - | ||||||||||||||||||
166 | ); | - | ||||||||||||||||||
167 | - | |||||||||||||||||||
168 | - | |||||||||||||||||||
169 | - | |||||||||||||||||||
170 | - | |||||||||||||||||||
171 | if (ignoring_input
| 0-2 | ||||||||||||||||||
172 | { | - | ||||||||||||||||||
173 | if (fd_reopen (
| 0 | ||||||||||||||||||
174 | 0
| 0 | ||||||||||||||||||
175 | , "/dev/null",
| 0 | ||||||||||||||||||
176 | 01
| 0 | ||||||||||||||||||
177 | , 0) < 0
| 0 | ||||||||||||||||||
178 | error (exit_internal_failure, never executed: error (exit_internal_failure, (*__errno_location ()) , dcgettext (((void *)0), "failed to render standard input unusable" , 5) ); | 0 | ||||||||||||||||||
179 | (*__errno_location ()) never executed: error (exit_internal_failure, (*__errno_location ()) , dcgettext (((void *)0), "failed to render standard input unusable" , 5) ); | 0 | ||||||||||||||||||
180 | , never executed: error (exit_internal_failure, (*__errno_location ()) , dcgettext (((void *)0), "failed to render standard input unusable" , 5) ); | 0 | ||||||||||||||||||
181 | never executed: error (exit_internal_failure, (*__errno_location ()) , dcgettext (((void *)0), "failed to render standard input unusable" , 5) ); | 0 | ||||||||||||||||||
182 | dcgettext (((void *)0), never executed: error (exit_internal_failure, (*__errno_location ()) , dcgettext (((void *)0), "failed to render standard input unusable" , 5) ); | 0 | ||||||||||||||||||
183 | "failed to render standard input unusable" never executed: error (exit_internal_failure, (*__errno_location ()) , dcgettext (((void *)0), "failed to render standard input unusable" , 5) ); | 0 | ||||||||||||||||||
184 | , 5) never executed: error (exit_internal_failure, (*__errno_location ()) , dcgettext (((void *)0), "failed to render standard input unusable" , 5) ); | 0 | ||||||||||||||||||
185 | ); never executed: error (exit_internal_failure, (*__errno_location ()) , dcgettext (((void *)0), "failed to render standard input unusable" , 5) ); | 0 | ||||||||||||||||||
186 | if (!redirecting_stdout
| 0 | ||||||||||||||||||
187 | error (0, 0, never executed: error (0, 0, dcgettext (((void *)0), "ignoring input" , 5) ); | 0 | ||||||||||||||||||
188 | dcgettext (((void *)0), never executed: error (0, 0, dcgettext (((void *)0), "ignoring input" , 5) ); | 0 | ||||||||||||||||||
189 | "ignoring input" never executed: error (0, 0, dcgettext (((void *)0), "ignoring input" , 5) ); | 0 | ||||||||||||||||||
190 | , 5) never executed: error (0, 0, dcgettext (((void *)0), "ignoring input" , 5) ); | 0 | ||||||||||||||||||
191 | ); never executed: error (0, 0, dcgettext (((void *)0), "ignoring input" , 5) ); | 0 | ||||||||||||||||||
192 | } never executed: end of block | 0 | ||||||||||||||||||
193 | - | |||||||||||||||||||
194 | - | |||||||||||||||||||
195 | - | |||||||||||||||||||
196 | - | |||||||||||||||||||
197 | - | |||||||||||||||||||
198 | if (redirecting_stdout
| 0-2 | ||||||||||||||||||
199 | { | - | ||||||||||||||||||
200 | char *in_home = | - | ||||||||||||||||||
201 | ((void *)0) | - | ||||||||||||||||||
202 | ; | - | ||||||||||||||||||
203 | char const *file = "nohup.out"; | - | ||||||||||||||||||
204 | int flags = | - | ||||||||||||||||||
205 | 0100 | - | ||||||||||||||||||
206 | | | - | ||||||||||||||||||
207 | 01 | - | ||||||||||||||||||
208 | | | - | ||||||||||||||||||
209 | 02000 | - | ||||||||||||||||||
210 | ; | - | ||||||||||||||||||
211 | mode_t mode = | - | ||||||||||||||||||
212 | 0400 | - | ||||||||||||||||||
213 | | | - | ||||||||||||||||||
214 | 0200 | - | ||||||||||||||||||
215 | ; | - | ||||||||||||||||||
216 | mode_t umask_value = umask (~mode); | - | ||||||||||||||||||
217 | out_fd = (redirecting_stdout
| 0 | ||||||||||||||||||
218 | ? fd_reopen ( | - | ||||||||||||||||||
219 | 1 | - | ||||||||||||||||||
220 | , file, flags, mode) | - | ||||||||||||||||||
221 | : open (file, flags, mode)); | - | ||||||||||||||||||
222 | - | |||||||||||||||||||
223 | if (out_fd < 0
| 0 | ||||||||||||||||||
224 | { | - | ||||||||||||||||||
225 | int saved_errno = | - | ||||||||||||||||||
226 | (*__errno_location ()) | - | ||||||||||||||||||
227 | ; | - | ||||||||||||||||||
228 | char const *home = getenv ("HOME"); | - | ||||||||||||||||||
229 | if (home
| 0 | ||||||||||||||||||
230 | { | - | ||||||||||||||||||
231 | in_home = file_name_concat (home, file, | - | ||||||||||||||||||
232 | ((void *)0) | - | ||||||||||||||||||
233 | ); | - | ||||||||||||||||||
234 | out_fd = (redirecting_stdout
| 0 | ||||||||||||||||||
235 | ? fd_reopen ( | - | ||||||||||||||||||
236 | 1 | - | ||||||||||||||||||
237 | , in_home, flags, mode) | - | ||||||||||||||||||
238 | : open (in_home, flags, mode)); | - | ||||||||||||||||||
239 | } never executed: end of block | 0 | ||||||||||||||||||
240 | if (out_fd < 0
| 0 | ||||||||||||||||||
241 | { | - | ||||||||||||||||||
242 | int saved_errno2 = | - | ||||||||||||||||||
243 | (*__errno_location ()) | - | ||||||||||||||||||
244 | ; | - | ||||||||||||||||||
245 | error (0, saved_errno, | - | ||||||||||||||||||
246 | dcgettext (((void *)0), | - | ||||||||||||||||||
247 | "failed to open %s" | - | ||||||||||||||||||
248 | , 5) | - | ||||||||||||||||||
249 | , quotearg_style (shell_escape_always_quoting_style, file)); | - | ||||||||||||||||||
250 | if (in_home
| 0 | ||||||||||||||||||
251 | error (0, saved_errno2, never executed: error (0, saved_errno2, dcgettext (((void *)0), "failed to open %s" , 5) , quotearg_style (shell_escape_always_quoting_style, in_home)); | 0 | ||||||||||||||||||
252 | dcgettext (((void *)0), never executed: error (0, saved_errno2, dcgettext (((void *)0), "failed to open %s" , 5) , quotearg_style (shell_escape_always_quoting_style, in_home)); | 0 | ||||||||||||||||||
253 | "failed to open %s" never executed: error (0, saved_errno2, dcgettext (((void *)0), "failed to open %s" , 5) , quotearg_style (shell_escape_always_quoting_style, in_home)); | 0 | ||||||||||||||||||
254 | , 5) never executed: error (0, saved_errno2, dcgettext (((void *)0), "failed to open %s" , 5) , quotearg_style (shell_escape_always_quoting_style, in_home)); | 0 | ||||||||||||||||||
255 | , never executed: error (0, saved_errno2, dcgettext (((void *)0), "failed to open %s" , 5) , quotearg_style (shell_escape_always_quoting_style, in_home)); | 0 | ||||||||||||||||||
256 | quotearg_style (shell_escape_always_quoting_style, in_home)); never executed: error (0, saved_errno2, dcgettext (((void *)0), "failed to open %s" , 5) , quotearg_style (shell_escape_always_quoting_style, in_home)); | 0 | ||||||||||||||||||
257 | return never executed: exit_internal_failure;return exit_internal_failure; never executed: return exit_internal_failure; | 0 | ||||||||||||||||||
258 | } | - | ||||||||||||||||||
259 | file = in_home; | - | ||||||||||||||||||
260 | } never executed: end of block | 0 | ||||||||||||||||||
261 | - | |||||||||||||||||||
262 | umask (umask_value); | - | ||||||||||||||||||
263 | error (0, 0, | - | ||||||||||||||||||
264 | - | |||||||||||||||||||
265 | dcgettext (((void *)0), | - | ||||||||||||||||||
266 | ignoring_input ? "ignoring input and appending output to %s" : "appending output to %s" | - | ||||||||||||||||||
267 | , 5) | - | ||||||||||||||||||
268 | - | |||||||||||||||||||
269 | - | |||||||||||||||||||
270 | , | - | ||||||||||||||||||
271 | quotearg_style (shell_escape_always_quoting_style, file)); | - | ||||||||||||||||||
272 | free (in_home); | - | ||||||||||||||||||
273 | } never executed: end of block | 0 | ||||||||||||||||||
274 | - | |||||||||||||||||||
275 | - | |||||||||||||||||||
276 | if (redirecting_stderr
| 0-2 | ||||||||||||||||||
277 | { | - | ||||||||||||||||||
278 | - | |||||||||||||||||||
279 | - | |||||||||||||||||||
280 | - | |||||||||||||||||||
281 | - | |||||||||||||||||||
282 | saved_stderr_fd = | - | ||||||||||||||||||
283 | rpl_fcntl | - | ||||||||||||||||||
284 | ( | - | ||||||||||||||||||
285 | 2 | - | ||||||||||||||||||
286 | , | - | ||||||||||||||||||
287 | 1030 | - | ||||||||||||||||||
288 | , | - | ||||||||||||||||||
289 | - | |||||||||||||||||||
290 | 2 | - | ||||||||||||||||||
291 | + 1); | - | ||||||||||||||||||
292 | - | |||||||||||||||||||
293 | if (!redirecting_stdout
| 0 | ||||||||||||||||||
294 | error (0, 0, never executed: error (0, 0, dcgettext (((void *)0), ignoring_input ? "ignoring input and redirecting stderr to stdout" : "redirecting stderr to stdout" , 5) ); | 0 | ||||||||||||||||||
295 | never executed: error (0, 0, dcgettext (((void *)0), ignoring_input ? "ignoring input and redirecting stderr to stdout" : "redirecting stderr to stdout" , 5) ); | 0 | ||||||||||||||||||
296 | dcgettext (((void *)0), never executed: error (0, 0, dcgettext (((void *)0), ignoring_input ? "ignoring input and redirecting stderr to stdout" : "redirecting stderr to stdout" , 5) ); | 0 | ||||||||||||||||||
297 | ignoring_input ? "ignoring input and redirecting stderr to stdout" : "redirecting stderr to stdout" never executed: error (0, 0, dcgettext (((void *)0), ignoring_input ? "ignoring input and redirecting stderr to stdout" : "redirecting stderr to stdout" , 5) ); | 0 | ||||||||||||||||||
298 | , 5) never executed: error (0, 0, dcgettext (((void *)0), ignoring_input ? "ignoring input and redirecting stderr to stdout" : "redirecting stderr to stdout" , 5) ); | 0 | ||||||||||||||||||
299 | 0 | |||||||||||||||||||
300 | never executed: error (0, 0, dcgettext (((void *)0), ignoring_input ? "ignoring input and redirecting stderr to stdout" : "redirecting stderr to stdout" , 5) ); | 0 | ||||||||||||||||||
301 | ); never executed: error (0, 0, dcgettext (((void *)0), ignoring_input ? "ignoring input and redirecting stderr to stdout" : "redirecting stderr to stdout" , 5) ); | 0 | ||||||||||||||||||
302 | - | |||||||||||||||||||
303 | if (dup2 (out_fd,
| 0 | ||||||||||||||||||
304 | 2
| 0 | ||||||||||||||||||
305 | ) < 0
| 0 | ||||||||||||||||||
306 | error (exit_internal_failure, never executed: error (exit_internal_failure, (*__errno_location ()) , dcgettext (((void *)0), "failed to redirect standard error" , 5) ); | 0 | ||||||||||||||||||
307 | (*__errno_location ()) never executed: error (exit_internal_failure, (*__errno_location ()) , dcgettext (((void *)0), "failed to redirect standard error" , 5) ); | 0 | ||||||||||||||||||
308 | , never executed: error (exit_internal_failure, (*__errno_location ()) , dcgettext (((void *)0), "failed to redirect standard error" , 5) ); | 0 | ||||||||||||||||||
309 | never executed: error (exit_internal_failure, (*__errno_location ()) , dcgettext (((void *)0), "failed to redirect standard error" , 5) ); | 0 | ||||||||||||||||||
310 | dcgettext (((void *)0), never executed: error (exit_internal_failure, (*__errno_location ()) , dcgettext (((void *)0), "failed to redirect standard error" , 5) ); | 0 | ||||||||||||||||||
311 | "failed to redirect standard error" never executed: error (exit_internal_failure, (*__errno_location ()) , dcgettext (((void *)0), "failed to redirect standard error" , 5) ); | 0 | ||||||||||||||||||
312 | , 5) never executed: error (exit_internal_failure, (*__errno_location ()) , dcgettext (((void *)0), "failed to redirect standard error" , 5) ); | 0 | ||||||||||||||||||
313 | ); never executed: error (exit_internal_failure, (*__errno_location ()) , dcgettext (((void *)0), "failed to redirect standard error" , 5) ); | 0 | ||||||||||||||||||
314 | - | |||||||||||||||||||
315 | if (stdout_is_closed
| 0 | ||||||||||||||||||
316 | close (out_fd); never executed: close (out_fd); | 0 | ||||||||||||||||||
317 | } never executed: end of block | 0 | ||||||||||||||||||
318 | - | |||||||||||||||||||
319 | - | |||||||||||||||||||
320 | - | |||||||||||||||||||
321 | - | |||||||||||||||||||
322 | - | |||||||||||||||||||
323 | - | |||||||||||||||||||
324 | - | |||||||||||||||||||
325 | if (ferror_unlocked (
| 0-2 | ||||||||||||||||||
326 | stderr
| 0-2 | ||||||||||||||||||
327 | )
| 0-2 | ||||||||||||||||||
328 | return never executed: exit_internal_failure;return exit_internal_failure; never executed: return exit_internal_failure; | 0 | ||||||||||||||||||
329 | - | |||||||||||||||||||
330 | signal ( | - | ||||||||||||||||||
331 | 1 | - | ||||||||||||||||||
332 | , | - | ||||||||||||||||||
333 | ((__sighandler_t) 1) | - | ||||||||||||||||||
334 | ); | - | ||||||||||||||||||
335 | - | |||||||||||||||||||
336 | char **cmd = argv + optind; | - | ||||||||||||||||||
337 | execvp (*cmd, cmd); | - | ||||||||||||||||||
338 | int exit_status = | - | ||||||||||||||||||
339 | (*
| 1 | ||||||||||||||||||
340 | ==
| 1 | ||||||||||||||||||
341 | 2
| 1 | ||||||||||||||||||
342 | ? EXIT_ENOENT : EXIT_CANNOT_INVOKE; | - | ||||||||||||||||||
343 | int saved_errno = | - | ||||||||||||||||||
344 | (*__errno_location ()) | - | ||||||||||||||||||
345 | ; | - | ||||||||||||||||||
346 | - | |||||||||||||||||||
347 | - | |||||||||||||||||||
348 | - | |||||||||||||||||||
349 | - | |||||||||||||||||||
350 | - | |||||||||||||||||||
351 | - | |||||||||||||||||||
352 | - | |||||||||||||||||||
353 | if (dup2 (saved_stderr_fd,
| 0-2 | ||||||||||||||||||
354 | 2
| 0-2 | ||||||||||||||||||
355 | ) ==
| 0-2 | ||||||||||||||||||
356 | 2
| 0-2 | ||||||||||||||||||
357 | ) | - | ||||||||||||||||||
358 | error (0, saved_errno, executed 2 times by 1 test: error (0, saved_errno, dcgettext (((void *)0), "failed to run command %s" , 5) , quotearg_style (shell_escape_always_quoting_style, *cmd)); Executed by:
| 2 | ||||||||||||||||||
359 | dcgettext (((void *)0), executed 2 times by 1 test: error (0, saved_errno, dcgettext (((void *)0), "failed to run command %s" , 5) , quotearg_style (shell_escape_always_quoting_style, *cmd)); Executed by:
| 2 | ||||||||||||||||||
360 | "failed to run command %s" executed 2 times by 1 test: error (0, saved_errno, dcgettext (((void *)0), "failed to run command %s" , 5) , quotearg_style (shell_escape_always_quoting_style, *cmd)); Executed by:
| 2 | ||||||||||||||||||
361 | , 5) executed 2 times by 1 test: error (0, saved_errno, dcgettext (((void *)0), "failed to run command %s" , 5) , quotearg_style (shell_escape_always_quoting_style, *cmd)); Executed by:
| 2 | ||||||||||||||||||
362 | , quotearg_style (shell_escape_always_quoting_style, *cmd)); executed 2 times by 1 test: error (0, saved_errno, dcgettext (((void *)0), "failed to run command %s" , 5) , quotearg_style (shell_escape_always_quoting_style, *cmd)); Executed by:
| 2 | ||||||||||||||||||
363 | - | |||||||||||||||||||
364 | return executed 2 times by 1 test: exit_status;return exit_status; Executed by:
executed 2 times by 1 test: return exit_status; Executed by:
| 2 | ||||||||||||||||||
365 | } | - | ||||||||||||||||||
Switch to Source code | Preprocessed file |