[libvirt] [PATCH] syntax-check: ignore all quoted strings in bracket-spacing

Ján Tomko jtomko at redhat.com
Fri May 24 14:01:30 UTC 2013


On 05/24/2013 03:53 PM, Eric Blake wrote:
> On 05/24/2013 03:26 AM, Ján Tomko wrote:
>> 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 fbe6666..a99edeb 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 = <FILE>)) {
>>          my $data = $line;
>>  
>> -        # Kill any quoted strongs
>> -        $data =~ s,".*?","XXX",g;
>> +        # Kill any quoted strings
>> +        $data =~ s,"([^\\\"]|\\.)+","XXX",g;
> 
> Nice.  I've used that trick in cfg.mk as well.
> 
> You used '+' instead of '*'; that gives us a chance of a false positive,
> if we have both an empty string and another string on the same line:
> 
>     str = cond ? "" : " ; ";
> 
> because your replacement would result in a rewrite to:
> 
>     str = cond ? ""XXX" ; ";
> 
> With *, the rewrite would be:
> 
>     str = cond ? "XXX" : "XXX";
> 
> ACK if you fix the regex.
> 

Thanks, fixed and pushed now.

Jan




More information about the libvir-list mailing list