From: Dominik Csapak Date: Thu, 13 Sep 2018 12:55:52 +0000 (+0200) Subject: INotify.pm: use run_command instead of open for calling diff X-Git-Url: https://git.proxmox.com/?p=pve-common.git;a=commitdiff_plain;h=69758574a14c9614708409da38af8cc865cd614e INotify.pm: use run_command instead of open for calling diff Signed-off-by: Dominik Csapak --- diff --git a/src/PVE/INotify.pm b/src/PVE/INotify.pm index dee9a3e..8b5544e 100644 --- a/src/PVE/INotify.pm +++ b/src/PVE/INotify.pm @@ -19,7 +19,8 @@ use PVE::ProcFSTools; use Clone qw(clone); use Linux::Inotify2; use base 'Exporter'; -use JSON; +use JSON; +use Encode qw(encode decode); our @EXPORT_OK = qw(read_file write_file register_file); @@ -56,13 +57,11 @@ sub ccache_compute_diff { my $diff = ''; - open (TMP, "diff -b -N -u '$filename' '$shadow'|"); - - while (my $line = ) { - $diff .= $line; - } - - close (TMP); + my $cmd = ['/usr/bin/diff', '-b', '-N', '-u', $filename, $shadow]; + PVE::Tools::run_command($cmd, noerr => 1, outfunc => sub { + my ($line) = @_; + $diff .= decode('UTF-8', $line) . "\n"; + }); $diff = undef if !$diff;