Eric Sunshine <sunshine@xxxxxxxxxxxxxx> writes: > On Mon, Jun 29, 2015 at 4:42 PM, Stefan Beller <sbeller@xxxxxxxxxx> wrote: >> On Sun, Jun 28, 2015 at 7:06 AM, Paul Tan <pyokagan@xxxxxxxxx> 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. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html