resolve_ref_unsafe(): handle the case of an SHA-1 within loop
There is only one "break" statement within the loop, which jumps to the code after the loop that handles the case of a file that holds a SHA-1. So move that code from below the loop into the if statement where the break was previously located. This makes the logic flow more local. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Reviewed-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
47f534bf92
commit
2884c06ae7
22
refs.c
22
refs.c
@ -1300,8 +1300,19 @@ const char *resolve_ref_unsafe(const char *refname, unsigned char *sha1, int rea
|
|||||||
/*
|
/*
|
||||||
* Is it a symbolic ref?
|
* Is it a symbolic ref?
|
||||||
*/
|
*/
|
||||||
if (prefixcmp(buffer, "ref:"))
|
if (prefixcmp(buffer, "ref:")) {
|
||||||
break;
|
/*
|
||||||
|
* Please note that FETCH_HEAD has a second
|
||||||
|
* line containing other data.
|
||||||
|
*/
|
||||||
|
if (get_sha1_hex(buffer, sha1) ||
|
||||||
|
(buffer[40] != '\0' && !isspace(buffer[40]))) {
|
||||||
|
if (flag)
|
||||||
|
*flag |= REF_ISBROKEN;
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
return refname;
|
||||||
|
}
|
||||||
if (flag)
|
if (flag)
|
||||||
*flag |= REF_ISSYMREF;
|
*flag |= REF_ISSYMREF;
|
||||||
buf = buffer + 4;
|
buf = buffer + 4;
|
||||||
@ -1314,13 +1325,6 @@ const char *resolve_ref_unsafe(const char *refname, unsigned char *sha1, int rea
|
|||||||
}
|
}
|
||||||
refname = strcpy(refname_buffer, buf);
|
refname = strcpy(refname_buffer, buf);
|
||||||
}
|
}
|
||||||
/* Please note that FETCH_HEAD has a second line containing other data. */
|
|
||||||
if (get_sha1_hex(buffer, sha1) || (buffer[40] != '\0' && !isspace(buffer[40]))) {
|
|
||||||
if (flag)
|
|
||||||
*flag |= REF_ISBROKEN;
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
return refname;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
char *resolve_refdup(const char *ref, unsigned char *sha1, int reading, int *flag)
|
char *resolve_refdup(const char *ref, unsigned char *sha1, int reading, int *flag)
|
||||||
|
Loading…
Reference in New Issue
Block a user