From 29ba25e43403ad8a95aa3ad366036018486796f8 Mon Sep 17 00:00:00 2001 From: vemax78 Date: Sat, 14 Dec 2013 12:32:42 +0100 Subject: [PATCH] Add helper function --- src/common/capwap_element_80211_antenna.c | 25 +++++++++++++++++++++++ src/common/capwap_element_80211_antenna.h | 1 + 2 files changed, 26 insertions(+) diff --git a/src/common/capwap_element_80211_antenna.c b/src/common/capwap_element_80211_antenna.c index 91e54ef..2e81dff 100644 --- a/src/common/capwap_element_80211_antenna.c +++ b/src/common/capwap_element_80211_antenna.c @@ -116,6 +116,31 @@ static void* capwap_80211_antenna_element_parsing(capwap_message_elements_handle return data; } +/* */ +void capwap_element_80211_antenna_copy(struct capwap_80211_antenna_element* dst, struct capwap_80211_antenna_element* src) { + int i; + + ASSERT(dst != NULL); + ASSERT(src != NULL); + + if (dst->selections) { + capwap_array_free(dst->selections); + } else { + dst->selections = capwap_array_create(sizeof(uint8_t), 0, 1); + } + + dst->radioid = src->radioid; + dst->diversity = src->diversity; + dst->combiner = src->combiner; + + if (src->selections) { + for (i = 0; i < src->selections->count; i++) { + uint8_t* value = (uint8_t*)capwap_array_get_item_pointer(dst->selections, i); + *value = *(uint8_t*)capwap_array_get_item_pointer(src->selections, i); + } + } +} + /* */ struct capwap_message_elements_ops capwap_element_80211_antenna_ops = { .create_message_element = capwap_80211_antenna_element_create, diff --git a/src/common/capwap_element_80211_antenna.h b/src/common/capwap_element_80211_antenna.h index f2786d1..3d71a0d 100644 --- a/src/common/capwap_element_80211_antenna.h +++ b/src/common/capwap_element_80211_antenna.h @@ -24,5 +24,6 @@ struct capwap_80211_antenna_element { }; extern struct capwap_message_elements_ops capwap_element_80211_antenna_ops; +void capwap_element_80211_antenna_copy(struct capwap_80211_antenna_element* dst, struct capwap_80211_antenna_element* src); #endif /* __CAPWAP_ELEMENT_80211_ANTENNA_HEADER__ */