diff options
author | Michael Haggerty <mhagger@alum.mit.edu> | 2017-08-26 10:28:09 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-08-26 09:21:01 -0700 |
commit | 4ebef533d75a197f660b38d615489ad8a233bba1 (patch) | |
tree | 5bb2916f395204ce53a9340c0915d03583c6bb4a /notes.c | |
parent | get_oid_hex_segment(): return 0 on success (diff) | |
download | tgif-4ebef533d75a197f660b38d615489ad8a233bba1.tar.xz |
load_subtree(): combine some common code
Write the length into `object_oid` (before copying) rather than
`l->key_oid` (after copying). Then combine some code from the two `if`
blocks.
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'notes.c')
-rw-r--r-- | notes.c | 14 |
1 files changed, 5 insertions, 9 deletions
@@ -447,10 +447,6 @@ static void load_subtree(struct notes_tree *t, struct leaf_node *subtree, goto handle_non_note; /* entry.path is not a SHA1 */ type = PTR_TYPE_NOTE; - l = (struct leaf_node *) - xcalloc(1, sizeof(struct leaf_node)); - oidcpy(&l->key_oid, &object_oid); - oidcpy(&l->val_oid, entry.oid); } else if (path_len == 2) { /* This is potentially an internal node */ @@ -463,17 +459,17 @@ static void load_subtree(struct notes_tree *t, struct leaf_node *subtree, GIT_SHA1_RAWSZ - prefix_len)) goto handle_non_note; /* entry.path is not a SHA1 */ + object_oid.hash[KEY_INDEX] = (unsigned char) (prefix_len + 1); + type = PTR_TYPE_SUBTREE; - l = (struct leaf_node *) - xcalloc(1, sizeof(struct leaf_node)); - oidcpy(&l->key_oid, &object_oid); - oidcpy(&l->val_oid, entry.oid); - l->key_oid.hash[KEY_INDEX] = (unsigned char) (prefix_len + 1); } else { /* This can't be part of a note */ goto handle_non_note; } + l = xcalloc(1, sizeof(*l)); + oidcpy(&l->key_oid, &object_oid); + oidcpy(&l->val_oid, entry.oid); if (note_tree_insert(t, node, n, l, type, combine_notes_concatenate)) die("Failed to load %s %s into notes tree " |