Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
http-push: use strbuf instead of fwrite_buffer
The http-push code defines an fwrite_buffer function for use
as a curl callback; it just writes to a strbuf. There's no
reason we need to use it ourselves, as we know we have a
strbuf. This lets us format directly into it, rather than
dealing with an extra temporary buffer (which required
manual length computation).

While we're here, let's also remove the literal tabs from
the source in favor of "\t", which is more visually obvious.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Jeff King authored and Junio C Hamano committed Sep 25, 2015
1 parent df1ed03 commit 7d0581a
Showing 1 changed file with 5 additions and 16 deletions.
21 changes: 5 additions & 16 deletions http-push.c
Expand Up @@ -1459,8 +1459,6 @@ static void add_remote_info_ref(struct remote_ls_ctx *ls)
{
struct strbuf *buf = (struct strbuf *)ls->userData;
struct object *o;
int len;
char *ref_info;
struct ref *ref;

ref = alloc_ref(ls->dentry_name);
Expand All @@ -1484,23 +1482,14 @@ static void add_remote_info_ref(struct remote_ls_ctx *ls)
return;
}

len = strlen(ls->dentry_name) + 42;
ref_info = xcalloc(len + 1, 1);
sprintf(ref_info, "%s %s\n",
sha1_to_hex(ref->old_sha1), ls->dentry_name);
fwrite_buffer(ref_info, 1, len, buf);
free(ref_info);
strbuf_addf(buf, "%s\t%s\n",
sha1_to_hex(ref->old_sha1), ls->dentry_name);

if (o->type == OBJ_TAG) {
o = deref_tag(o, ls->dentry_name, 0);
if (o) {
len = strlen(ls->dentry_name) + 45;
ref_info = xcalloc(len + 1, 1);
sprintf(ref_info, "%s %s^{}\n",
sha1_to_hex(o->sha1), ls->dentry_name);
fwrite_buffer(ref_info, 1, len, buf);
free(ref_info);
}
if (o)
strbuf_addf(buf, "%s\t%s^{}\n",
sha1_to_hex(o->sha1), ls->dentry_name);
}
free(ref);
}
Expand Down

0 comments on commit 7d0581a

Please sign in to comment.