svn commit: r303487 - head/usr.bin/indent
Bruce Evans
brde at optusnet.com.au
Fri Jul 29 23:53:23 UTC 2016
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
More information about the svn-src-all
mailing list