From: Junio C Hamano Date: Mon, 29 Jun 2015 21:39:55 GMT Subject: Re: [PATCH v4 38/44] builtin-am: support and auto-detect StGit patches Message-ID: In-Reply-To: Eric Sunshine writes: > On Mon, Jun 29, 2015 at 4:42 PM, Stefan Beller wrote: >> On Sun, Jun 28, 2015 at 7:06 AM, Paul Tan 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.