Add feature to clone message element

This commit is contained in:
vemax78
2013-10-01 16:39:27 +02:00
parent 06c4763053
commit b0fac2068e
75 changed files with 887 additions and 76 deletions

View File

@ -28,6 +28,20 @@ static void capwap_deletemacacl_element_create(void* data, capwap_message_elemen
func->write_block(handle, element->address, element->entry * element->length);
}
/* */
static void* capwap_deletemacacl_element_clone(void* data) {
struct capwap_deletemacacl_element* cloneelement;
ASSERT(data != NULL);
cloneelement = capwap_clone(data, sizeof(struct capwap_deletemacacl_element));
if (cloneelement->entry > 0) {
cloneelement->address = capwap_clone(((struct capwap_deletemacacl_element*)data)->address, cloneelement->entry * cloneelement->length);
}
return cloneelement;
}
/* */
static void capwap_deletemacacl_element_free(void* data) {
struct capwap_deletemacacl_element* element = (struct capwap_deletemacacl_element*)data;
@ -91,5 +105,6 @@ static void* capwap_deletemacacl_element_parsing(capwap_message_elements_handle
struct capwap_message_elements_ops capwap_element_deletemacacl_ops = {
.create_message_element = capwap_deletemacacl_element_create,
.parsing_message_element = capwap_deletemacacl_element_parsing,
.free_parsed_message_element = capwap_deletemacacl_element_free
.clone_message_element = capwap_deletemacacl_element_clone,
.free_message_element = capwap_deletemacacl_element_free
};