mirror of
https://git.proxmox.com/git/pve-common
synced 2025-08-03 07:09:04 +00:00
Fix 2339: Handle multiple blank lines correctly in SectionConfig
It turns out that the line number counting was also broken (even on files without multiple blanks), since the body of the while inside the nextline subroutine would not be executed for a blank. I guess the subroutine was intended to skip comments and blanks, but since we use blanks to recognize the end of a section, I changed it to only skip comments. Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
This commit is contained in:
parent
9e3aaec494
commit
e1fbb779f7
@ -302,13 +302,16 @@ sub parse_config {
|
||||
my $lineno = 0;
|
||||
my @lines = split(/\n/, $raw);
|
||||
my $nextline = sub {
|
||||
while (my $line = shift @lines) {
|
||||
while (defined(my $line = shift @lines)) {
|
||||
$lineno++;
|
||||
return $line if $line !~ /^\s*(?:#|$)/;
|
||||
return $line if ($line !~ /^\s*#/);
|
||||
}
|
||||
};
|
||||
|
||||
while (my $line = &$nextline()) {
|
||||
while (@lines) {
|
||||
my $line = $nextline->();
|
||||
next if !$line;
|
||||
|
||||
my $errprefix = "file $filename line $lineno";
|
||||
|
||||
my ($type, $sectionId, $errmsg, $config) = $class->parse_section_header($line);
|
||||
|
Loading…
Reference in New Issue
Block a user