зеркало из https://github.com/microsoft/git.git
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:
Родитель
419c6f4c76
Коммит
37da4227b2
|
@ -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,
|
||||
|
|
Загрузка…
Ссылка в новой задаче