Add a non-clonig variant of eap_payload_create_data

This commit is contained in:
Martin Willi 2011-07-07 12:31:02 +02:00
parent b4853f12f5
commit 4c199e6f81
2 changed files with 23 additions and 2 deletions

View File

@ -281,6 +281,18 @@ eap_payload_t *eap_payload_create_data(chunk_t data)
return this;
}
/*
* Described in header
*/
eap_payload_t *eap_payload_create_data_own(chunk_t data)
{
eap_payload_t *this = eap_payload_create();
this->set_data(this, data);
free(data.ptr);
return this;
}
/*
* Described in header
*/

View File

@ -95,17 +95,26 @@ struct eap_payload_t {
/**
* Creates an empty eap_payload_t object.
*
* @return eap_payload_t object
* @return eap_payload_t object
*/
eap_payload_t *eap_payload_create(void);
/**
* Creates an eap_payload_t object with data.
*
* @return eap_payload_t object
* @param data data, gets cloned
* @return eap_payload_t object
*/
eap_payload_t *eap_payload_create_data(chunk_t data);
/**
* Creates an eap_payload_t object with data, owning the data.
*
* @param data data on heap, gets owned and freed
* @return eap_payload_t object
*/
eap_payload_t *eap_payload_create_data_own(chunk_t data);
/**
* Creates an eap_payload_t object with a code.
*