From: Jeff King Date: Thu, 21 May 2015 04:45:51 GMT Subject: [PATCH v3 13/14] for-each-ref: use skip_prefix instead of starts_with Message-ID: <20150521044551.GM23409@peff.net> In-Reply-To: <20150521044429.GA5857@peff.net> This saves us having to maintain a magic number to skip past the matched prefix. Signed-off-by: Jeff King --- builtin/for-each-ref.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/builtin/for-each-ref.c b/builtin/for-each-ref.c index 18d209b..345d8dd 100644 --- a/builtin/for-each-ref.c +++ b/builtin/for-each-ref.c @@ -659,10 +659,12 @@ static void populate_value(struct refinfo *ref) else if (starts_with(name, "symref")) refname = ref->symref ? ref->symref : ""; else if (starts_with(name, "upstream")) { + const char *branch_name; /* only local branches may have an upstream */ - if (!starts_with(ref->refname, "refs/heads/")) + if (!skip_prefix(ref->refname, "refs/heads/", + &branch_name)) continue; - branch = branch_get(ref->refname + 11); + branch = branch_get(branch_name); refname = branch_get_upstream(branch, NULL); if (!refname) -- 2.4.1.528.g00591e3