resolve_ref_unsafe(): use for loop to count up to MAXDEPTH

The loop's there anyway; we might as well use it.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: David Turner <dturner@twopensource.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Michael Haggerty 2016-04-07 15:02:56 -04:00 committed by Junio C Hamano
parent 419c6f4c76
commit 37da4227b2

View File

@ -1400,8 +1400,8 @@ static const char *resolve_ref_1(const char *refname,
struct strbuf *sb_path,
struct strbuf *sb_contents)
{
int depth = MAXDEPTH;
int bad_name = 0;
int symref_count;
if (flags)
*flags = 0;
@ -1425,17 +1425,13 @@ static const char *resolve_ref_1(const char *refname,
*/
bad_name = 1;
}
for (;;) {
for (symref_count = 0; symref_count < MAXDEPTH; symref_count++) {
const char *path;
struct stat st;
char *buf;
int fd;
if (--depth < 0) {
errno = ELOOP;
return NULL;
}
strbuf_reset(sb_path);
strbuf_git_path(sb_path, "%s", refname);
path = sb_path->buf;
@ -1566,6 +1562,9 @@ static const char *resolve_ref_1(const char *refname,
bad_name = 1;
}
}
errno = ELOOP;
return NULL;
}
const char *resolve_ref_unsafe(const char *refname, int resolve_flags,