Skip to content

Commit

Permalink
http.c: Remove unnecessary strdup of sha1_to_hex result
Browse files Browse the repository at this point in the history
Most of the time the dumb HTTP transport is run without the verbose
flag set, so we only need the result of sha1_to_hex(sha1) once, to
construct the pack URL.  Don't bother with an unnecessary malloc,
copy, free chain of this buffer.

If verbose is set, we'll format the SHA-1 twice now.  But this
tiny extra CPU time spent is nothing compared to the slowdown that
is usually imposed by the verbose messages being sent to the tty,
and is entirely trivial compared to the latency involved with the
remote HTTP server sending something as big as a pack file.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Acked-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Shawn O. Pearce authored and Junio C Hamano committed Apr 20, 2010
1 parent 0da8b2e commit 162eb5f
Showing 1 changed file with 2 additions and 4 deletions.
6 changes: 2 additions & 4 deletions http.c
Original file line number Diff line number Diff line change
Expand Up @@ -899,7 +899,6 @@ int http_fetch_ref(const char *base, struct ref *ref)
static int fetch_pack_index(unsigned char *sha1, const char *base_url)
{
int ret = 0;
char *hex = xstrdup(sha1_to_hex(sha1));
char *filename;
char *url = NULL;
struct strbuf buf = STRBUF_INIT;
Expand All @@ -910,18 +909,17 @@ static int fetch_pack_index(unsigned char *sha1, const char *base_url)
}

if (http_is_verbose)
fprintf(stderr, "Getting index for pack %s\n", hex);
fprintf(stderr, "Getting index for pack %s\n", sha1_to_hex(sha1));

end_url_with_slash(&buf, base_url);
strbuf_addf(&buf, "objects/pack/pack-%s.idx", hex);
strbuf_addf(&buf, "objects/pack/pack-%s.idx", sha1_to_hex(sha1));
url = strbuf_detach(&buf, NULL);

filename = sha1_pack_index_name(sha1);
if (http_get_file(url, filename, 0) != HTTP_OK)
ret = error("Unable to get pack index %s\n", url);

cleanup:
free(hex);
free(url);
return ret;
}
Expand Down

0 comments on commit 162eb5f

Please sign in to comment.