Michael Haggerty <mhagger@xxxxxxxxxxxx> writes: > On 10/12/2011 07:49 PM, Junio C Hamano wrote: >> diff --git a/refs.c b/refs.c >> index e3692bd..e54c482 100644 >> --- a/refs.c >> +++ b/refs.c >> @@ -994,12 +994,34 @@ const char *ref_fetch_rules[] = { >> NULL >> }; >> >> +static int refname_ok_at_root_level(const char *str, int len) >> +{ >> + int seen_non_root_char = 0; >> + >> + while (len--) { >> + char ch = *str++; >> + >> + if (ch == '/') >> + return 1; >> + /* >> + * Only accept likes of .git/HEAD, .git/MERGE_HEAD at >> + * the root level as a ref. >> + */ >> + if (ch != '_' && (ch < 'A' || 'Z' < ch)) >> + seen_non_root_char = 1; >> + } >> + return !seen_non_root_char; >> +} >> + > > Nit: the seen_non_root_char variable can be replaced by an early "return > 0" from the loop and "return 1" if the loop falls through. Hmm, I thought that would fail when you feed "refs/heads/master" to the function. -- 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