Johan Herland wrote: > --- a/notes.c > +++ b/notes.c > @@ -303,13 +298,17 @@ static void note_tree_insert(struct notes_tree *t, struct int_node *tree, > GET_PTR_TYPE(*p) == PTR_TYPE_SUBTREE); > if (is_null_sha1(entry->val_sha1)) { /* skip insertion of empty note */ > free(entry); > - return; > + return 0; > } > new_node = (struct int_node *) xcalloc(sizeof(struct int_node), 1); > - note_tree_insert(t, new_node, n + 1, l, GET_PTR_TYPE(*p), > - combine_notes); > - *p = SET_PTR_TYPE(new_node, PTR_TYPE_INTERNAL); > - note_tree_insert(t, new_node, n + 1, entry, type, combine_notes); > + ret = note_tree_insert(t, new_node, n + 1, l, GET_PTR_TYPE(*p), > + combine_notes); > + if (!ret) { > + *p = SET_PTR_TYPE(new_node, PTR_TYPE_INTERNAL); > + ret = note_tree_insert(t, new_node, n + 1, entry, type, > + combine_notes); > + } > + return ret; Micronit: it would probably be clearer to write if (ret) return ret; *p = SET_PTR_TYPE(... return note_tree_insert(... to avoid a little nesting. The patch still looks good to me. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html