Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 30 Jul 2016 09:25:14 +1000 (EST)
From:      Bruce Evans <brde@optusnet.com.au>
To:        Piotr Stefaniak <email@piotr-stefaniak.me>
Cc:        "Pedro F. Giffuni" <pfg@freebsd.org>, src-committers@freebsd.org,  svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r303487 - head/usr.bin/indent
Message-ID:  <20160730091349.A1012@besplex.bde.org>
In-Reply-To: <BLU436-SMTP77842A8C1A730828A5C01D85010@phx.gbl>
References:  <201607291628.u6TGSpKT064605@repo.freebsd.org> <BLU436-SMTP77842A8C1A730828A5C01D85010@phx.gbl>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 29 Jul 2016, Piotr Stefaniak wrote:

> On 2016-07-29 18:28, Pedro F. Giffuni wrote:
>> 
>> Log:
>>   indent(1): fix struct termination detection.
>> 
>>   Small style cleanup while here.
>
> Wrong commit message. Actually committed here is: Support "f" and "F" 
> floating constant suffixes.
>> ...

Also: Add large style bug in the fix.

>> Modified: head/usr.bin/indent/lexi.c
>> ==============================================================================
>> --- head/usr.bin/indent/lexi.c	Fri Jul 29 16:25:09 2016 
>> (r303486)
>> +++ head/usr.bin/indent/lexi.c	Fri Jul 29 16:28:51 2016 
>> (r303487)
>> @@ -191,15 +191,13 @@ lexi(void)
>>  		    }
>>  		}
>>  	    while (1) {
>> -		if (!(seensfx & 1) &&
>> -			(*buf_ptr == 'U' || *buf_ptr == 'u')) {
>> +		if (!(seensfx & 1) && (*buf_ptr == 'U' || *buf_ptr == 'u')) {
>>  		    CHECK_SIZE_TOKEN;
>>  		    *e_token++ = *buf_ptr++;
>>  		    seensfx |= 1;
>>  		    continue;
>>  		}
>> -        	if (!(seensfx & 2) &&
>> -			(*buf_ptr == 'L' || *buf_ptr == 'l')) {
>> +		if (!(seensfx & 2) && strchr("fFlL", *buf_ptr)) {

indent's style is mostly bad, but this doesn't seem to involve using
boolean tests for non-boolean str*() functions.  indent didn't use
strchr() before, but it always does explict comparisons with 0 for
strcmp() and strncmp().  strstr() doesn't even return an integer,
so an explicit comparison is even more needed for it.  Except the
"found" test doesn't require negative logic like !strcmp().

>>  		    CHECK_SIZE_TOKEN;
>>  		    if (buf_ptr[1] == buf_ptr[0])
>>  		        *e_token++ = *buf_ptr++;

Bruce



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20160730091349.A1012>