From 9880a949d2f1e1783302f4f6e25a4729d8761d5e Mon Sep 17 00:00:00 2001 From: Sergey Poznyakoff Date: Sun, 26 May 2019 11:09:26 +0300 Subject: Fix improper use of IPC::Cmd->run --- lib/Config/HAProxy.pm | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'lib') diff --git a/lib/Config/HAProxy.pm b/lib/Config/HAProxy.pm index 794a80f..44cc3fb 100644 --- a/lib/Config/HAProxy.pm +++ b/lib/Config/HAProxy.pm @@ -13,10 +13,10 @@ use File::Basename; use File::Temp qw(tempfile); use File::stat; use File::Spec; -use IPC::Cmd; +use IPC::Cmd qw(run); use Carp; -our $VERSION = '1.03'; +our $VERSION = '1.04'; my %sections = ( global => 1, @@ -231,12 +231,14 @@ sub save { DIR => dirname($self->filename)); $self->write($fh, @wrargs); close($fh); - if (my $cmd = $self->lint) { - my ($ok, $err, undef, undef, $errbuf) = - IPC::Cmd->run(command => "$cmd $tempfile"); + my ($ok, $err, $full, $outbuf, $errbuf) = + run(command => "$cmd $tempfile"); unless ($ok) { - croak "Syntax check failed: $errbuf\n"; + if ($errbuf && @$errbuf) { + croak "Syntax check failed: ".join("\n", @$errbuf)."\n"; + } + croak $err; } } return 1 if $dry_run; -- cgit v1.2.1