1
0
mirror of https://github.com/git/git.git synced 2024-09-28 20:51:42 +02:00

archive: simplify refname handling

There is no need to build a copy of the relevant part of the string just
to make sure we have a NUL-terminated string.  We can simply pass the
length of the interesting part to dwim_ref() instead.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
René Scharfe 2012-05-18 07:15:17 +02:00 committed by Junio C Hamano
parent d0f1ea6003
commit c51a351a6b

@ -260,18 +260,11 @@ static void parse_treeish_arg(const char **argv,
/* Remotes are only allowed to fetch actual refs */
if (remote) {
char *ref = NULL;
const char *refname, *colon = NULL;
const char *colon = strchr(name, ':');
int refnamelen = colon ? colon - name : strlen(name);
colon = strchr(name, ':');
if (colon)
refname = xstrndup(name, colon - name);
else
refname = name;
if (!dwim_ref(refname, strlen(refname), sha1, &ref))
die("no such ref: %s", refname);
if (refname != name)
free((void *)refname);
if (!dwim_ref(name, refnamelen, sha1, &ref))
die("no such ref: %.*s", refnamelen, name);
free(ref);
}