refs.c: allow passing NULL to ref_transaction_free

Allow ref_transaction_free(NULL) as a no-op. This makes ref_transaction_free
easier to use and more similar to plain 'free'.

In particular, it lets us rollback unconditionally as part of cleanup code
after setting 'transaction = NULL' if a transaction has been committed or
rolled back already.

Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Ronnie Sahlberg <sahlberg@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Acked-by: Michael Haggerty <mhagger@alum.mit.edu>
maint
Ronnie Sahlberg 2014-06-20 07:42:45 -07:00 committed by Junio C Hamano
parent f1c9350ad7
commit 1b07255c95
1 changed files with 3 additions and 0 deletions

3
refs.c
View File

@ -3338,6 +3338,9 @@ void ref_transaction_free(struct ref_transaction *transaction)
{
int i;

if (!transaction)
return;

for (i = 0; i < transaction->nr; i++)
free(transaction->updates[i]);