belle_sip_uri_marshal: destroy belle_sip_paramaters after use

parent 350a04a8
......@@ -34,6 +34,7 @@ belle_sip_parameters_t* belle_sip_parameters_new();
* remove all parameters */
BELLESIP_EXPORT void belle_sip_parameters_clean(belle_sip_parameters_t* params);
BELLESIP_EXPORT void belle_sip_parameters_destroy(belle_sip_parameters_t* params);
BELLESIP_EXPORT const char* belle_sip_parameters_get_parameter(const belle_sip_parameters_t* obj,const char* name);
/*
......
......@@ -29,7 +29,7 @@ void belle_sip_parameters_clean(belle_sip_parameters_t* params) {
params->paramnames_list=NULL;
params->param_list=NULL;
}
static void belle_sip_parameters_destroy(belle_sip_parameters_t* params) {
void belle_sip_parameters_destroy(belle_sip_parameters_t* params) {
belle_sip_parameters_clean(params);
}
......@@ -113,7 +113,7 @@ void belle_sip_parameters_set(belle_sip_parameters_t *parameters, const char* pa
char *current=tmp;
char *equal;
char *next;
do{
end_of_param=strchr(current,';');
equal=strchr(current,'=');
......
......@@ -69,7 +69,7 @@ static void belle_sip_uri_clone(belle_sip_uri_t* uri, const belle_sip_uri_t *ori
uri->header_list=(belle_sip_parameters_t*)belle_sip_object_clone(BELLE_SIP_OBJECT(orig->header_list));
belle_sip_object_ref(uri->header_list);
}
}
static void encode_params(belle_sip_param_pair_t* container, belle_sip_list_t** newlist) {
......@@ -94,7 +94,7 @@ belle_sip_error_code belle_sip_uri_marshal(const belle_sip_uri_t* uri, char* buf
error=belle_sip_snprintf(buff,buff_size,offset,"%s:",uri->secure?"sips":"sip");
if (error!=BELLE_SIP_OK) return error;
if (uri->user && uri->user[0]!='\0') {
char* escaped_username=belle_sip_uri_to_escaped_username(uri->user);
error=belle_sip_snprintf(buff,buff_size,offset,"%s",escaped_username);
......@@ -122,7 +122,7 @@ belle_sip_error_code belle_sip_uri_marshal(const belle_sip_uri_t* uri, char* buf
} else {
belle_sip_warning("no host found in this uri");
}
if (uri->port!=0) {
error=belle_sip_snprintf(buff,buff_size,offset,":%i",uri->port);
if (error!=BELLE_SIP_OK) return error;
......@@ -132,7 +132,7 @@ belle_sip_error_code belle_sip_uri_marshal(const belle_sip_uri_t* uri, char* buf
belle_sip_parameters_t *encparams = belle_sip_parameters_new();
belle_sip_list_for_each2(uri->params.param_list, (void (*)(void *, void *))encode_params, &encparams->param_list);
error=belle_sip_parameters_marshal(encparams,buff,buff_size,offset);
belle_sip_object_unref(encparams);
belle_sip_parameters_destroy(encparams);
if (error!=BELLE_SIP_OK) return error;
}
......
......@@ -19,7 +19,6 @@
#include "grammars/belle_sip_messageParser.h"
#include "belle-sip/generic-uri.h"
#include "belle-sip/parameters.h"
#include "belle_sip_internal.h"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment