From 55bbff11ec96f74b27afc36dd8ca3e34ff425b40 Mon Sep 17 00:00:00 2001 From: Martin Willi Date: Tue, 24 Oct 2006 08:46:17 +0000 Subject: linked list cleanups added list methods invoke(), destroy_offset(), destroy_function() simplified list destruction when destroying its items --- src/charon/encoding/payloads/encryption_payload.c | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) (limited to 'src/charon/encoding/payloads/encryption_payload.c') diff --git a/src/charon/encoding/payloads/encryption_payload.c b/src/charon/encoding/payloads/encryption_payload.c index d32e6c902..c33bea781 100644 --- a/src/charon/encoding/payloads/encryption_payload.c +++ b/src/charon/encoding/payloads/encryption_payload.c @@ -600,14 +600,7 @@ static status_t verify_signature(private_encryption_payload_t *this, chunk_t dat */ static void destroy(private_encryption_payload_t *this) { - /* all proposals are getting destroyed */ - while (this->payloads->get_count(this->payloads) > 0) - { - payload_t *current_payload; - this->payloads->remove_last(this->payloads,(void **)¤t_payload); - current_payload->destroy(current_payload); - } - this->payloads->destroy(this->payloads); + this->payloads->destroy_offset(this->payloads, offsetof(payload_t, destroy)); free(this->encrypted.ptr); free(this->decrypted.ptr); free(this); -- cgit v1.2.3