We can use (*flags & REF_BAD_NAME) for that purpose. Signed-off-by: Michael Haggerty <mhagger@xxxxxxxxxxxx> --- refs/files-backend.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/refs/files-backend.c b/refs/files-backend.c index 60f1493..b865ba5 100644 --- a/refs/files-backend.c +++ b/refs/files-backend.c @@ -1399,19 +1399,17 @@ static const char *resolve_ref_1(const char *refname, struct strbuf *sb_path, struct strbuf *sb_contents) { - int bad_name = 0; int symref_count; *flags = 0; if (check_refname_format(refname, REFNAME_ALLOW_ONELEVEL)) { - *flags |= REF_BAD_NAME; - if (!(resolve_flags & RESOLVE_REF_ALLOW_BAD_NAME) || !refname_is_safe(refname)) { errno = EINVAL; return NULL; } + /* * dwim_ref() uses REF_ISBROKEN to distinguish between * missing refs and refs that were present but invalid, @@ -1420,7 +1418,7 @@ static const char *resolve_ref_1(const char *refname, * We don't know whether the ref exists, so don't set * REF_ISBROKEN yet. */ - bad_name = 1; + *flags |= REF_BAD_NAME; } for (symref_count = 0; symref_count < MAXDEPTH; symref_count++) { @@ -1452,7 +1450,7 @@ static const char *resolve_ref_1(const char *refname, } hashclr(sha1); } - if (bad_name) { + if (*flags & REF_BAD_NAME) { hashclr(sha1); *flags |= REF_ISBROKEN; } @@ -1524,7 +1522,7 @@ static const char *resolve_ref_1(const char *refname, errno = EINVAL; return NULL; } - if (bad_name) { + if (*flags & REF_BAD_NAME) { hashclr(sha1); *flags |= REF_ISBROKEN; } @@ -1548,8 +1546,7 @@ static const char *resolve_ref_1(const char *refname, return NULL; } - *flags |= REF_ISBROKEN; - bad_name = 1; + *flags |= REF_ISBROKEN | REF_BAD_NAME; } } -- 2.8.0.rc3 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html