In bracket-spacing.pl, the current $line is being modified in $data.
That, however, spoils that $data for another check. Introduce new
$tmpdata variable that can be used for temporary modifications. The
difference between $data and $line is that $data are as much cleaned as
possible from non-code blocks and these changes must be kept.
Signed-off-by: Martin Kletzander <mkletzan(a)redhat.com>
---
build-aux/bracket-spacing.pl | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/build-aux/bracket-spacing.pl b/build-aux/bracket-spacing.pl
index ac01a56..5fce2b7 100755
--- a/build-aux/bracket-spacing.pl
+++ b/build-aux/bracket-spacing.pl
@@ -31,6 +31,8 @@ foreach my $file (@ARGV) {
while (defined (my $line = <FILE>)) {
my $data = $line;
+ # For temporary modifications
+ my $tmpdata;
# Kill any quoted , ; = or "
$data =~ s/'[";,=]'/'X'/g;
@@ -77,12 +79,15 @@ foreach my $file (@ARGV) {
#
# foo (*bar, wizz);
#
- while ($data =~ /(\w+)\s\((?!\*)/) {
+ # We also don't want to spoil the $data so it can be used
+ # later on.
+ $tmpdata = $data;
+ while ($tmpdata =~ /(\w+)\s\((?!\*)/) {
my $kw = $1;
# Allow space after keywords only
if ($kw =~ /^(if|for|while|switch|return)$/) {
- $data =~ s/($kw\s\()/XXX(/;
+ $tmpdata =~ s/($kw\s\()/XXX(/;
} else {
print "$file:$.: $line";
$ret = 1;
@@ -147,9 +152,10 @@ foreach my $file (@ARGV) {
# Require spaces around assignment '=', compounds and '=='
# with the exception of virAssertCmpInt()
- $data =~ s/(virAssertCmpInt\(.* ).?=,/$1op,/;
- while ($data =~ /[^ ]\b[!<>&|\-+*\/%\^=]?=[^=]/ ||
- $data =~ /=[^= \\\n]/) {
+ $tmpdata = $data;
+ $tmpdata =~ s/(virAssertCmpInt\(.* ).?=,/$1op,/;
+ while ($tmpdata =~ /[^ ]\b[!<>&|\-+*\/%\^=]?=[^=]/ ||
+ $tmpdata =~ /=[^= \\\n]/) {
print "$file:$.: $line";
$ret = 1;
last;
--
2.1.3