projects
/
pve-common.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
87d9cda
)
safe_read_from: add filename parameter to improve error messages
author
Dietmar Maurer
<dietmar@proxmox.com>
Mon, 28 Nov 2016 06:42:34 +0000
(07:42 +0100)
committer
Dietmar Maurer
<dietmar@proxmox.com>
Mon, 28 Nov 2016 06:42:34 +0000
(07:42 +0100)
src/PVE/Tools.pm
patch
|
blob
|
history
diff --git
a/src/PVE/Tools.pm
b/src/PVE/Tools.pm
index
341f0ac
..
df66047
100644
(file)
--- a/
src/PVE/Tools.pm
+++ b/
src/PVE/Tools.pm
@@
-234,7
+234,7
@@
sub file_get_contents {
my $fh = IO::File->new($filename, "r") ||
die "can't open '$filename' - $!\n";
my $fh = IO::File->new($filename, "r") ||
die "can't open '$filename' - $!\n";
- my $content = safe_read_from($fh, $max);
+ my $content = safe_read_from($fh, $max
, 0, $filename
);
close $fh;
close $fh;
@@
-259,22
+259,24
@@
sub file_read_firstline {
}
sub safe_read_from {
}
sub safe_read_from {
- my ($fh, $max, $oneline) = @_;
+ my ($fh, $max, $oneline
, $filename
) = @_;
$max = 32768 if !$max;
$max = 32768 if !$max;
+ my $subject = defined($filename) ? "file '$filename'" : 'input';
+
my $br = 0;
my $input = '';
my $count;
while ($count = sysread($fh, $input, 8192, $br)) {
$br += $count;
my $br = 0;
my $input = '';
my $count;
while ($count = sysread($fh, $input, 8192, $br)) {
$br += $count;
- die "
inpu
t too long - aborting\n" if $br > $max;
+ die "
$subjec
t too long - aborting\n" if $br > $max;
if ($oneline && $input =~ m/^(.*)\n/) {
$input = $1;
last;
}
}
if ($oneline && $input =~ m/^(.*)\n/) {
$input = $1;
last;
}
}
- die "unable to read
inpu
t - $!\n" if !defined($count);
+ die "unable to read
$subjec
t - $!\n" if !defined($count);
return $input;
}
return $input;
}