David Kastrup <dak@xxxxxxx> 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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html