aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sha1_name.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/sha1_name.c b/sha1_name.c
index 4428df19a..5a58720d8 100644
--- a/sha1_name.c
+++ b/sha1_name.c
@@ -1033,12 +1033,14 @@ int interpret_branch_name(const char *name, struct strbuf *buf)
int len = interpret_nth_prior_checkout(name, buf);
int tmp_len;
- if (!len)
+ if (!len) {
return len; /* syntax Ok, not enough switches */
- if (0 < len && len == namelen)
- return len; /* consumed all */
- else if (0 < len)
- return reinterpret(name, namelen, len, buf);
+ } else if (len > 0) {
+ if (len == namelen)
+ return len; /* consumed all */
+ else
+ return reinterpret(name, namelen, len, buf);
+ }
cp = strchr(name, '@');
if (!cp)