diff options
author | ivan <ivan> | 2012-02-12 01:22:47 +0000 |
---|---|---|
committer | ivan <ivan> | 2012-02-12 01:22:47 +0000 |
commit | eee6d96f68294389e3e1659e18a945ff2e5c47e5 (patch) | |
tree | da66d14ade9144f8838fb849d5906f523959f1e9 /FS/FS | |
parent | 860445eb4e5389ae310496a199d69e414d2428c9 (diff) |
apply shellcommands ignored_errors regexen to STDOUT as well as STDERR, RT#15347
Diffstat (limited to 'FS/FS')
-rw-r--r-- | FS/FS/part_export/shellcommands.pm | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/FS/FS/part_export/shellcommands.pm b/FS/FS/part_export/shellcommands.pm index 59146306d..edbe78f03 100644 --- a/FS/FS/part_export/shellcommands.pm +++ b/FS/FS/part_export/shellcommands.pm @@ -498,13 +498,18 @@ sub ssh_cmd { #subroutine, not method return if $opt->{'ignore_all_output'}; die "Error running SSH command: ". $ssh->error if $ssh->error; - if ($errput && $opt->{'ignored_errors'} && length($opt->{'ignored_errors'})) { + if ( ($output || $errput) + && $opt->{'ignored_errors'} && length($opt->{'ignored_errors'}) + ) { my @ignored_errors = split('\n',$opt->{'ignored_errors'}); foreach my $ignored_error ( @ignored_errors ) { + $output =~ s/$ignored_error//g; $errput =~ s/$ignored_error//g; } + chomp($output); chomp($errput); } + die $errput if $errput; die $output if $output; ''; |