X-Git-Url: http://git.rot13.org/?p=BackupPC.git;a=blobdiff_plain;f=lib%2FBackupPC%2FStorage%2FText.pm;h=421310692ba13da8418ebf44f8bc607b1f101982;hp=18f59136cd061f1802c9778e005d2810d10517fd;hb=27f513f89d885d24bf1a01242fba676c7a840fd5;hpb=5b3e6091d542c2e7445d5dd511cdf6e20aec8b8d diff --git a/lib/BackupPC/Storage/Text.pm b/lib/BackupPC/Storage/Text.pm index 18f5913..4213106 100644 --- a/lib/BackupPC/Storage/Text.pm +++ b/lib/BackupPC/Storage/Text.pm @@ -340,15 +340,19 @@ sub ConfigFileMerge $contents .= "\$Conf{$var} = " . $value; $done->{$var} = 1; } - $endLine = $1 if ( /^\s*\$Conf\{[^}]*} *= *<<(.*);/ ); - $endLine = $1 if ( /^\s*\$Conf\{[^}]*} *= *<<'(.*)';/ ); + if ( /^\s*\$Conf\{[^}]*} *= *<<(.*);/ + || /^\s*\$Conf\{[^}]*} *= *<<'(.*)';/ ) { + $endLine = $1; + $skipVar = 1; + } else { + $endLine = undef; + $skipVar = /^[^#]*;/ ? 0 : 1; + } $out = ""; - $skipVar = 1; } elsif ( $skipVar ) { - if ( !defined($endLine) && (/^\s*[\r\n]*$/ || /^\s*#/) ) { + if ( !defined($endLine) && /^[^#]*;/ ) { $skipVar = 0; $comment = 1; - $out .= $_; } if ( defined($endLine) && /^\Q$endLine\E[\n\r]*$/ ) { $endLine = undef;