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>

Ronnie Sahlberg committed Jun 20, 2014 at 07:42 UTC 1b07255c95cdf2f7dbe7989a734248f60799f506
1 file changed +3
refs.c
+3
@@ -3338,6 +3338,9 @@ void ref_transaction_free(struct ref_transaction *transaction)
3338 {
3339 int i;
3340
3341 + if (!transaction)
3342 + return;
3343 +
3344 for (i = 0; i < transaction->nr; i++)
3345 free(transaction->updates[i]);
3346