Thread (1 message) 1 message, 1 author, 2016-06-15

Re: [PATCH v3] skip_prefix: rewrite so that prefix is scanned once

From: Junio C Hamano <hidden>
Date: 2016-06-15 23:00:10

David Kastrup [off-list ref] 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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help