Subject: Re: [PATCH v4 38/44] builtin-am: support and auto-detect StGit patches

From: Junio C Hamano <[email-masked]>
Date: Mon, 29 Jun 2015 14:39:55 -0700

Eric Sunshine <[email-masked]> writes:

> On Mon, Jun 29, 2015 at 4:42 PM, Stefan Beller <[email-masked]> wrote:
>> On Sun, Jun 28, 2015 at 7:06 AM, Paul Tan <[email-masked]> wrote:
>>> +/**
>>> + * Returns true if `str` consists of only whitespace, false otherwise.
>>> + */
>>> +static int str_isspace(const char *str)
>>> +{
>>> +       while (*str)
>>> +               if (!isspace(*(str)++))
>>> +                       return 0;
>> ...
>>     while (*str && !isspace(*(str)++))
>>         return 0;
> ...
> Ugh. Please don't break the logic with this strange and bogus transformation.
>
> If you really want it to read more idiomatically, try:
>
>     for (; *s; s++)
>         if (!isspace(*s))
>             return 0;

;-).

Regardless of the loop structure, I find

	*(str)++

especially ugly and confusing.  I'd understand if it were

	*(str++)

but the parentheses pair is unnecessary.

Not using any increment inside isspace(), like you showed, is the
most readable.

Thanks.