summaryrefslogtreecommitdiff
path: root/pjsip
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2006-02-23 21:27:46 +0000
committerBenny Prijono <bennylp@teluu.com>2006-02-23 21:27:46 +0000
commitd5b883d52b22b6fa6ea17d99a9aed46edb3c5b56 (patch)
tree7090af330893f5613258c86eb398d7a2324e51b6 /pjsip
parent83543421cc24dd7e2e3814a379dcbd8684f29268 (diff)
Fixed generation of header from the URI
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@227 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip')
-rw-r--r--pjsip/src/pjsip/sip_dialog.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/pjsip/src/pjsip/sip_dialog.c b/pjsip/src/pjsip/sip_dialog.c
index 3dfc8b94..5a61100a 100644
--- a/pjsip/src/pjsip/sip_dialog.c
+++ b/pjsip/src/pjsip/sip_dialog.c
@@ -142,14 +142,23 @@ PJ_DEF(pj_status_t) pjsip_dlg_create_uac( pjsip_user_agent *ua,
param = uri->header_param.next;
while (param != &uri->header_param) {
- pjsip_generic_string_hdr *req_hdr;
+ pjsip_hdr *hdr;
- req_hdr = pjsip_generic_string_hdr_create(dlg->pool, &param->name,
- &param->value);
- pj_list_push_back(&dlg->inv_hdr, req_hdr);
+ hdr = pjsip_parse_hdr(dlg->pool, &param->name, param->value.ptr,
+ param->value.slen, NULL);
+ if (hdr == NULL) {
+ status = PJSIP_EINVALIDURI;
+ goto on_error;
+ }
+ pj_list_push_back(&dlg->inv_hdr, hdr);
param = param->next;
}
+
+ /* Now must remove any header params from URL, since that would
+ * create another header in pjsip_endpt_create_request().
+ */
+ pj_list_init(&uri->header_param);
}
/* Init local info. */