David Kastrup <[email protected]> writes:
> How about a function body of
>
> do {
> if (!*prefix)
> return str;
> } while (*str++ == *prefix++);
> return NULL;
>
> I'm not too fond of while (1) and tend to use for (;;) instead, but that
> may again partly be due to some incredibly non-optimizing compiler back
> in the days of my youth. At any rate, the do-while loop seems a bit
> brisker.
I do not have strong preference between "while (1)" and "for (;;)",
but I tend to agree
for (;; prefix++, str++) {
if (!*prefix)
return str;
if (*str != *prefix)
return NULL;
}
may be easier to read than what I suggested. Your do-while loop is
concise and very readable, so let's take that one (I'll forge your
Sign-off ;-)).
I haven't looked at the generated assembly of any of these, though.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html