aboutsummaryrefslogtreecommitdiffstats
path: root/src/libcharon/encoding/payloads/proposal_substructure.c
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2010-11-24 14:21:01 +0100
committerMartin Willi <martin@revosec.ch>2011-01-05 16:45:51 +0100
commit1f5b2bec4b2e1feb287b57dccc9fa887189ff7f1 (patch)
tree698ffbebf29b1cf2e6c561e1e937cb1db7f22739 /src/libcharon/encoding/payloads/proposal_substructure.c
parent9f8ecff2e200c19723579319aea213d63a020f77 (diff)
downloadstrongswan-1f5b2bec4b2e1feb287b57dccc9fa887189ff7f1.tar.bz2
strongswan-1f5b2bec4b2e1feb287b57dccc9fa887189ff7f1.tar.xz
Use enumerator instead of deprecated iterator
Diffstat (limited to 'src/libcharon/encoding/payloads/proposal_substructure.c')
-rw-r--r--src/libcharon/encoding/payloads/proposal_substructure.c22
1 files changed, 9 insertions, 13 deletions
diff --git a/src/libcharon/encoding/payloads/proposal_substructure.c b/src/libcharon/encoding/payloads/proposal_substructure.c
index bc0f4f581..0fcfee7a5 100644
--- a/src/libcharon/encoding/payloads/proposal_substructure.c
+++ b/src/libcharon/encoding/payloads/proposal_substructure.c
@@ -213,22 +213,18 @@ METHOD(payload_t, set_next_type, void,
*/
static void compute_length(private_proposal_substructure_t *this)
{
- iterator_t *iterator;
- payload_t *current_transform;
- size_t transforms_count = 0;
- size_t length = PROPOSAL_SUBSTRUCTURE_HEADER_LENGTH;
+ enumerator_t *enumerator;
+ payload_t *transform;
- iterator = this->transforms->create_iterator(this->transforms,TRUE);
- while (iterator->iterate(iterator, (void**)&current_transform))
+ this->transforms_count = 0;
+ this->proposal_length = PROPOSAL_SUBSTRUCTURE_HEADER_LENGTH + this->spi.len;
+ enumerator = this->transforms->create_enumerator(this->transforms);
+ while (enumerator->enumerate(enumerator, &transform))
{
- length += current_transform->get_length(current_transform);
- transforms_count++;
+ this->proposal_length += transform->get_length(transform);
+ this->transforms_count++;
}
- iterator->destroy(iterator);
-
- length += this->spi.len;
- this->transforms_count = transforms_count;
- this->proposal_length = length;
+ enumerator->destroy(enumerator);
}
METHOD(payload_t, get_length, size_t,