Re: [PATCH v4 38/44] builtin-am: support and auto-detect StGit patches
To
Eric Sunshine
Cc
Stefan Beller
Paul Tan
git@vger.kernel.org
Johannes Schindelin
From
Junio C Hamano
See Also
Prev Ref 1 Ref 2 Ref 3
Date
2015-06-29 21:39:55 UTC
Eric Sunshine <sunshine@sunshineco.com> writes:

> On Mon, Jun 29, 2015 at 4:42 PM, Stefan Beller <sbeller@google.com> wrote:
>> On Sun, Jun 28, 2015 at 7:06 AM, Paul Tan <pyokagan@gmail.com> 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.