Skip to content

Commit

Permalink
use alloc_ref_from_str() everywhere
Browse files Browse the repository at this point in the history
Replace pairs of alloc_ref() and strcpy() with alloc_ref_from_str(),
simplifying the code.

In connect.c, also a pair of alloc_ref() and memcpy() is replaced --
the additional cost of a strlen() call should not have too much of an
impact.  Consistency and simplicity are more important.

In remote.c, the code was allocating 11 bytes more than needed for
the name part, but I couldn't see them being used for anything.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
René Scharfe authored and Junio C Hamano committed Oct 18, 2008
1 parent 8009768 commit b0b44bc
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 8 deletions.
3 changes: 1 addition & 2 deletions connect.c
Original file line number Diff line number Diff line change
Expand Up @@ -90,9 +90,8 @@ struct ref **get_remote_heads(int in, struct ref **list,
continue;
if (nr_match && !path_match(name, nr_match, match))
continue;
ref = alloc_ref(name_len + 1);
ref = alloc_ref_from_str(buffer + 41);
hashcpy(ref->old_sha1, old_sha1);
memcpy(ref->name, buffer + 41, name_len + 1);
*list = ref;
list = &ref->next;
}
Expand Down
3 changes: 1 addition & 2 deletions remote.c
Original file line number Diff line number Diff line change
Expand Up @@ -878,8 +878,7 @@ static struct ref *try_explicit_object_name(const char *name)
struct ref *ref;

if (!*name) {
ref = alloc_ref(20);
strcpy(ref->name, "(delete)");
ref = alloc_ref_from_str("(delete)");
hashclr(ref->new_sha1);
return ref;
}
Expand Down
6 changes: 2 additions & 4 deletions transport.c
Original file line number Diff line number Diff line change
Expand Up @@ -75,15 +75,14 @@ static int read_loose_refs(struct strbuf *path, int name_offset,

if (fd < 0)
continue;
next = alloc_ref(path->len - name_offset + 1);
next = alloc_ref_from_str(path->buf + name_offset);
if (read_in_full(fd, buffer, 40) != 40 ||
get_sha1_hex(buffer, next->old_sha1)) {
close(fd);
free(next);
continue;
}
close(fd);
strcpy(next->name, path->buf + name_offset);
(*tail)->next = next;
*tail = next;
}
Expand Down Expand Up @@ -127,14 +126,13 @@ static void insert_packed_refs(const char *packed_refs, struct ref **list)
(*list)->next->name)) > 0)
list = &(*list)->next;
if (!(*list)->next || cmp < 0) {
struct ref *next = alloc_ref(len - 40);
struct ref *next = alloc_ref_from_str(buffer + 41);
buffer[40] = '\0';
if (get_sha1_hex(buffer, next->old_sha1)) {
warning ("invalid SHA-1: %s", buffer);
free(next);
continue;
}
strcpy(next->name, buffer + 41);
next->next = (*list)->next;
(*list)->next = next;
list = &(*list)->next;
Expand Down

0 comments on commit b0b44bc

Please sign in to comment.