[PATCH 10/15] check_refname_component(): return 0 for zero-length components
- From
mhagger@alum.mit.edu <mhagger@alum.mit.edu>
- Date
- Apr 10, 2012, 05:30 UTC
- Message-ID
- <1334035827-20331-11-git-send-email-mhagger@alum.mit.edu>
- In-Reply-To
- <1334035827-20331-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 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/refs.c b/refs.c index 8659c3e..1f6890b 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.10