summaryrefslogtreecommitdiffstats
path: root/tinySIP/src/tsip_uri.c
diff options
context:
space:
mode:
Diffstat (limited to 'tinySIP/src/tsip_uri.c')
-rwxr-xr-xtinySIP/src/tsip_uri.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/tinySIP/src/tsip_uri.c b/tinySIP/src/tsip_uri.c
index 2fd3a0b..0120979 100755
--- a/tinySIP/src/tsip_uri.c
+++ b/tinySIP/src/tsip_uri.c
@@ -156,11 +156,15 @@ char* tsip_uri_tostring(const tsip_uri_t *uri, tsk_bool_t with_params, tsk_bool_
tsip_uri_t *tsip_uri_clone(const tsip_uri_t *uri, tsk_bool_t with_params, tsk_bool_t quote)
{
tsip_uri_t *newuri = tsk_null;
- tsk_buffer_t *output = tsk_buffer_create_null();
- if((tsip_uri_serialize(uri, with_params, quote, output)) == 0) {
- newuri = tsip_uri_parse(output->data, output->size);
- }
- TSK_OBJECT_SAFE_FREE(output);
+ if (uri) {
+ tsk_buffer_t *output = tsk_buffer_create_null();
+ if((tsip_uri_serialize(uri, with_params, quote, output)) == 0) {
+ if ((newuri = tsip_uri_parse(output->data, output->size))) {
+ tsk_strupdate(&newuri->display_name, uri->display_name);
+ }
+ }
+ TSK_OBJECT_SAFE_FREE(output);
+ }
return newuri;
}
OpenPOWER on IntegriCloud