[PATCH 26/26] commit_ref_transaction(): Work with transaction->updates in place
- From
Michael Haggerty <mhagger@alum.mit.edu>
- Date
- Mar 10, 2014, 12:46 UTC
- Message-ID
- <1394455603-2968-27-git-send-email-mhagger@alum.mit.edu>
- In-Reply-To
- <1394455603-2968-1-git-send-email-mhagger@alum.mit.edu>
Now that we free the transaction when we are done, there is no need to make a copy of transaction->updates before working with it.
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> --- refs.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/refs.c b/refs.c index d83fc7b..ea33adc 100644 --- a/refs.c +++ b/refs.c @@ -3402,19 +3402,17 @@ int commit_ref_transaction(struct ref_transaction *transaction, const char *msg, enum action_on_err onerr) { int ret = 0, delnum = 0, i; - struct ref_update **updates; const char **delnames; int n = transaction->nr; + struct ref_update **updates = transaction->updates; if (!n) return 0; /* Allocate work space */ - updates = xmalloc(sizeof(*updates) * n); delnames = xmalloc(sizeof(*delnames) * n); /* Copy, sort, and reject duplicate refs */ - memcpy(updates, transaction->updates, sizeof(*updates) * n); qsort(updates, n, sizeof(*updates), ref_update_compare); ret = ref_update_reject_duplicates(updates, n, onerr); if (ret) @@ -3469,7 +3467,6 @@ cleanup: for (i = 0; i < n; i++) if (updates[i]->lock) unlock_ref(updates[i]->lock); - free(updates); free(delnames); free_ref_transaction(transaction); return ret;
-- 1.9.0