diff options
author | Martin Willi <martin@strongswan.org> | 2006-10-24 14:20:45 +0000 |
---|---|---|
committer | Martin Willi <martin@strongswan.org> | 2006-10-24 14:20:45 +0000 |
commit | 191a26a6a713e81361bd677bb0297744f03e4f36 (patch) | |
tree | 95bbdbc6be919e5748ddcab93d985592f264e593 /src/charon/encoding/payloads/ts_payload.c | |
parent | 55bbff11ec96f74b27afc36dd8ca3e34ff425b40 (diff) | |
download | strongswan-191a26a6a713e81361bd677bb0297744f03e4f36.tar.bz2 strongswan-191a26a6a713e81361bd677bb0297744f03e4f36.tar.xz |
removed deprecated iterator methods (has_next & current)
added iterator hook to manipulate iterator the clean way
Diffstat (limited to 'src/charon/encoding/payloads/ts_payload.c')
-rw-r--r-- | src/charon/encoding/payloads/ts_payload.c | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/src/charon/encoding/payloads/ts_payload.c b/src/charon/encoding/payloads/ts_payload.c index cce2fc282..ae89919f6 100644 --- a/src/charon/encoding/payloads/ts_payload.c +++ b/src/charon/encoding/payloads/ts_payload.c @@ -123,6 +123,7 @@ encoding_rule_t ts_payload_encodings[] = { static status_t verify(private_ts_payload_t *this) { iterator_t *iterator; + payload_t *current_traffic_selector; status_t status = SUCCESS; if (this->number_of_traffic_selectors != (this->traffic_selectors->get_count(this->traffic_selectors))) @@ -132,11 +133,8 @@ static status_t verify(private_ts_payload_t *this) } iterator = this->traffic_selectors->create_iterator(this->traffic_selectors,TRUE); - while(iterator->has_next(iterator)) + while(iterator->iterate(iterator, (void**)¤t_traffic_selector)) { - payload_t *current_traffic_selector; - iterator->current(iterator,(void **)¤t_traffic_selector); - status = current_traffic_selector->verify(current_traffic_selector); if (status != SUCCESS) { @@ -196,11 +194,11 @@ static void compute_length (private_ts_payload_t *this) iterator_t *iterator; size_t ts_count = 0; size_t length = TS_PAYLOAD_HEADER_LENGTH; + payload_t *current_traffic_selector; + iterator = this->traffic_selectors->create_iterator(this->traffic_selectors,TRUE); - while (iterator->has_next(iterator)) + while (iterator->iterate(iterator, (void**)¤t_traffic_selector)) { - payload_t * current_traffic_selector; - iterator->current(iterator,(void **) ¤t_traffic_selector); length += current_traffic_selector->get_length(current_traffic_selector); ts_count++; } @@ -208,7 +206,6 @@ static void compute_length (private_ts_payload_t *this) this->number_of_traffic_selectors= ts_count; this->payload_length = length; - } /** @@ -260,13 +257,12 @@ static linked_list_t *get_traffic_selectors(private_ts_payload_t *this) { traffic_selector_t *ts; iterator_t *iterator; + traffic_selector_substructure_t *ts_substructure; linked_list_t *ts_list = linked_list_create(); iterator = this->traffic_selectors->create_iterator(this->traffic_selectors, TRUE); - while (iterator->has_next(iterator)) + while (iterator->iterate(iterator, (void**)&ts_substructure)) { - traffic_selector_substructure_t *ts_substructure; - iterator->current(iterator, (void**)&ts_substructure); ts = ts_substructure->get_traffic_selector(ts_substructure); ts_list->insert_last(ts_list, (void*)ts); } @@ -333,9 +329,8 @@ ts_payload_t *ts_payload_create_from_traffic_selectors(bool is_initiator, linked this = (private_ts_payload_t*)ts_payload_create(is_initiator); iterator = traffic_selectors->create_iterator(traffic_selectors, TRUE); - while (iterator->has_next(iterator)) + while (iterator->iterate(iterator, (void**)&ts)) { - iterator->current(iterator, (void**)&ts); ts_substructure = traffic_selector_substructure_create_from_traffic_selector(ts); this->public.add_traffic_selector_substructure(&(this->public), ts_substructure); } |