[PATCH 03/28] check_refname_component(): return 0 for zero-length components
- From
mhagger@alum.mit.edu <mhagger@alum.mit.edu>
- Date
- Oct 28, 2011, 12:28 UTC
- Message-ID
- <1319804921-17545-4-git-send-email-mhagger@alum.mit.edu>
- In-Reply-To
- <1319804921-17545-1-git-send-email-mhagger@alum.mit.edu>
From: Michael Haggerty <mhagger@alum.mit.edu>
Return 0 (instead of -1) for zero-length components. Move the interpretation of zero-length components as illegal to check_refname_format().
This will make it easier to extend check_refname_format() to also check whether directory names are valid.
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> --- refs.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/refs.c b/refs.c index eff1abe..61dfb32 100644 --- a/refs.c +++ b/refs.c @@ -51,7 +51,7 @@ static int check_refname_component(const char *refname, int flags) last = ch; } if (cp == refname) - return -1; /* Component has zero length. */ + return 0; /* Component has zero length. */ if (refname[0] == '.') { if (!(flags & REFNAME_DOT_COMPONENT)) return -1; /* Component starts with '.'. */ @@ -74,7 +74,7 @@ int check_refname_format(const char *refname, int flags) while (1) { /* We are at the start of a path component. */ component_len = check_refname_component(refname, flags); - if (component_len < 0) { + if (component_len <= 0) { if ((flags & REFNAME_REFSPEC_PATTERN) && refname[0] == '*' && (refname[1] == '\0' || refname[1] == '/')) {
-- 1.7.7