From 711ca22a209ffdaa20636559df63a537a8545b39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A1n=20Tomko?= Date: Fri, 24 May 2013 10:50:42 +0200 Subject: [PATCH] syntax-check: ignore all quoted strings in bracket-spacing Ignore strings with an escaped double quote too. This removes the need for special handling of quotes in the semicolon check. --- build-aux/bracket-spacing.pl | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/build-aux/bracket-spacing.pl b/build-aux/bracket-spacing.pl index fbe66669ea..2eeeeb463a 100755 --- a/build-aux/bracket-spacing.pl +++ b/build-aux/bracket-spacing.pl @@ -31,8 +31,8 @@ foreach my $file (@ARGV) { while (defined (my $line = )) { my $data = $line; - # Kill any quoted strongs - $data =~ s,".*?","XXX",g; + # Kill any quoted strings + $data =~ s,"([^\\\"]|\\.)*","XXX",g; # Kill any C++ style comments $data =~ s,//.*$,//,; @@ -120,14 +120,9 @@ foreach my $file (@ARGV) { # errno == EINTR) # ; # - # 3) ";" is inside double-quote, I.e, as part of const string. E.g. - # printf("%s", "a ; b\n"); while ($data =~ /[^;\s]\s+;/) { - # Inside the double-quote - if ($data !~ /"[^"]*\s;/) { - print "$file:$.: $line"; - $ret = 1; - } + print "$file:$.: $line"; + $ret = 1; last; } }