line |
true |
false |
branch |
48
|
0 |
20 |
if ($^O eq 'os2') { } |
|
0 |
20 |
elsif ($^O eq 'MSWin32' or $^O eq 'VMS') { } |
49
|
0 |
0 |
if (@_ == 1 and $_[0] =~ /[\`|\"\'\$&;*?\{\}\[\]\(\)<>\s~]/ || $_[0] =~ /^\s*\w+=/) |
61
|
0 |
20 |
if $Debug |
63
|
0 |
20 |
unless defined $pid |
64
|
15 |
5 |
if $pid |
66
|
0 |
5 |
if $Debug |
67
|
0 |
0 |
unless exec @_ |
73
|
42 |
0 |
ref $fh ? : |
76
|
0 |
0 |
$mode == 2 ? : |
|
0 |
0 |
$mode == 1 ? : |
|
0 |
42 |
if $Debug |
82
|
0 |
42 |
unless my $ret = fcntl($fh, $mode, $flag) |
86
|
0 |
42 |
if $Debug |
95
|
0 |
32 |
if $Debug |
97
|
0 |
32 |
if not $res and $Debug |
99
|
32 |
0 |
if ($res or $no_error_on_unwind_close and $how eq 'unwind: ') |
109
|
17 |
22 |
ref $fh2 ? : |
111
|
9 |
30 |
$mode eq 'r' ? : |
113
|
0 |
39 |
if $Debug |
115
|
39 |
0 |
if ($res = open($fh1, "$omode&$fd2")) { } |
116
|
0 |
39 |
if $Debug |
127
|
22 |
2 |
ref $fh ? : |
128
|
22 |
2 |
ref $fh ? : |
130
|
0 |
24 |
if $Debug |
132
|
22 |
2 |
if ($res) |
133
|
0 |
22 |
if $Debug |
137
|
0 |
2 |
if $Debug |
153
|
0 |
42 |
unless @$close_in_child |
158
|
0 |
42 |
if $$redirected{$fd} |
159
|
0 |
42 |
unless my $fl = xfcntl($fd, 1, 1, $errs) |
160
|
42 |
0 |
if $fl & 1 |
161
|
0 |
0 |
unless xfcntl $fd, 2, $fl | 1, $errs |
176
|
0 |
34 |
if ($$cmd[0] eq 'fset') { } |
|
17 |
17 |
elsif ($$cmd[0] eq 'close') { } |
|
17 |
0 |
elsif ($$cmd[0] eq 'fdopen') { } |
177
|
0 |
0 |
unless xfcntl $$cmd[1], 2, $$cmd[2], $errs, 'unwind: ' |
180
|
0 |
17 |
unless xclose $$cmd[1], $errs, 'unwind: ' |
183
|
0 |
17 |
unless xfdopen $$cmd[1], $$cmd[2], $$cmd[3], $errs, 'unwind: ' |
187
|
0 |
0 |
if $Debug |
201
|
0 |
50 |
if ($file) |
213
|
0 |
0 |
if $Debug |
214
|
0 |
0 |
unless $fh = 'IO::File'->new($file) |
218
|
0 |
0 |
if $Debug |
224
|
0 |
0 |
$file =~ /^\s*(\+\s*)?[>|]/ ? : |
239
|
22 |
0 |
if (exists $fd_hash{$fd} and defined fileno $fd_hash{$fd} and fileno $fd_hash{$fd} == $fd and fcntl $fd_hash{$fd}, 1, 1) |
243
|
12 |
10 |
if ref $fd_hash{$fd} eq 'GLOB' |
244
|
0 |
22 |
if $Debug |
252
|
0 |
2 |
if (not defined $fh and $! =~ /bad\s+file\s+number/i) |
253
|
0 |
0 |
if $Debug |
259
|
0 |
0 |
unless $tmp_fh = xnew_from_fd($old, $mode, $errs, 'intermed fd: ') |
260
|
0 |
0 |
if fileno $tmp_fh == $fd |
263
|
0 |
0 |
unless ($ok) |
265
|
0 |
0 |
if $Debug |
268
|
0 |
0 |
unless defined $$fds{$fd}{'tmp_filehandles'} |
272
|
0 |
0 |
unless process_close_in_kid(\@tmp, $unwind, $fds, $errs) |
283
|
26 |
0 |
if $fd > $max_fd |
285
|
0 |
25 |
unless $max_fd > -1 |
287
|
0 |
25 |
unless cvt_2filehandle($fds, $unwind, $errs) |
291
|
3 |
22 |
if $max_fd > $^F |
299
|
2 |
22 |
unless $$fd_data{'pre_filehandle'} = fd_2filehandle($fd, $$fd_data{'mode'}, $fds, $unwind, $errs) |
304
|
0 |
22 |
unless $$fd_data{'pre_filehandle_save'} = xnew_from_fd($$fd_data{'pre_filehandle'}, $$fd_data{'mode'}, $errs, 'savecopy: ') |
310
|
0 |
22 |
unless xfdopen $$fd_data{'pre_filehandle'}, fileno $$fd_data{'filehandle'}, $$fd_data{'mode'}, $errs, 'final: ' |
319
|
0 |
22 |
unless process_close_in_kid(\@close_in_child, $unwind, $fds, $errs) |
326
|
2 |
44 |
unless defined $_[1] |
330
|
6 |
40 |
if exists $$data{'env'} |
334
|
2 |
138 |
ref $_ ? : |
336
|
0 |
45 |
if $has_undef |
341
|
37 |
8 |
$print_errs ? : |
343
|
25 |
20 |
if (defined $$data{'redir'}) |
345
|
2 |
22 |
unless ($res) |
346
|
0 |
2 |
if defined $max_fd and $max_fd > $^F and $use_longer_control_F |
350
|
0 |
2 |
if $print_errs and @$errs |
354
|
0 |
0 |
if defined $max_fd and $max_fd > $^F and $use_longer_control_F |
358
|
20 |
22 |
if ($do_spawn or $$data{'spawn'}) { } |
360
|
15 |
0 |
if defined $res |
361
|
0 |
15 |
unless defined $res |
364
|
6 |
16 |
if $res |
365
|
6 |
16 |
if $res |
366
|
16 |
6 |
$res == 0 ? : |
369
|
17 |
20 |
if @$unwind |
371
|
0 |
37 |
if $print_errs and @$errs |
385
|
1 |
2 |
unless defined $_[1] |
389
|
0 |
3 |
if $$data{'spawn'} |
392
|
0 |
6 |
unless defined $res |
398
|
1 |
2 |
unless defined $_[1] |
401
|
0 |
3 |
if $$data{'spawn'} |
404
|
2 |
3 |
unless defined $res |
410
|
1 |
2 |
unless defined $_[1] |
413
|
0 |
3 |
if $$data{'spawn'} |
416
|
2 |
3 |
if defined $res |
422
|
3 |
1 |
unless defined $_[1] |
426
|
3 |
1 |
unless defined $$data{'env'} |
437
|
3 |
21 |
unless defined $_[1] |
441
|
23 |
1 |
unless defined $$data{'redir'} |
448
|
24 |
0 |
$print_errs ? : |
450
|
24 |
0 |
if (cvt_2filehandle($redir, $unwind, $errs)) |
452
|
1 |
23 |
if (%{$$data{'redir'};}) |
455
|
1 |
0 |
unless exists $$data{'redir'}{$rfd} |
462
|
18 |
0 |
unless @$unwind |
464
|
0 |
0 |
if @$unwind |
466
|
0 |
0 |
if $print_errs and @$errs |
472
|
11 |
9 |
unless defined $_[1] |
480
|
0 |
20 |
if $Debug |
481
|
0 |
20 |
unless pipe $rpipe, $wpipe |
483
|
0 |
20 |
if $Debug |
484
|
0 |
20 |
if $Debug |
487
|
15 |
5 |
if ($dir eq 'r') { } |
499
|
0 |
15 |
unless $redir->run($data) |
504
|
0 |
15 |
unless xclose $toclose, [], 'pipe::run: ' |
510
|
4 |
0 |
unless defined $_[1] |
513
|
0 |
3 |
unless my $pipe = 'Run::pipe'->new('r', $cmd)->run($data) |
519
|
5 |
0 |
unless defined $_[1] |
522
|
0 |
3 |
unless my $pipe = 'Run::pipe'->new('r', $cmd)->run($data) |
534
|
0 |
48 |
unless @_ == 2 |
540
|
0 |
9 |
unless @_ == 1 |