From: Junio C Hamano Date: Mon, 22 Jun 2015 01:00:52 GMT Subject: Re: [PATCH v4 06/19] ref-filter: implement '--merged' and '--no-merged' options Message-ID: In-Reply-To: <1434919705-4884-6-git-send-email-karthik.188@gmail.com> On Sun, Jun 21, 2015 at 1:48 PM, Karthik Nayak wrote: > +static void do_merge_filter(struct ref_filter_cbdata *ref_cbdata) > +{ > + struct rev_info revs; > + int i, old_nr; > + struct ref_filter *filter = ref_cbdata->filter; > + struct ref_array *array = ref_cbdata->array; > + struct commit_list *p, *to_clear = NULL; > + > + init_revisions(&revs, NULL); > + > + for (i = 0; i < array->nr; i++) { > + struct ref_array_item *item = array->items[i]; > + add_pending_object(&revs, &item->commit->object, item->refname); > + commit_list_insert(item->commit, &to_clear); Use of commit_list for an array of known number of commits feels somewhat wasteful. Couldn't to_clear be struct commit **to_clear = xcalloc(sizeof(struct commit *), array->nr); instread?