From de41ab8738b3c8782e214d48f562d1671dc76691 Mon Sep 17 00:00:00 2001 From: Benny Prijono Date: Thu, 14 Sep 2006 11:17:48 +0000 Subject: Added --duration option in PJSUA to limit the maximum duration of calls. Also added pjsip_generic_string_hdr_init2() to initialize temporary SIP header that is allocated in the stack. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@715 74dad513-b988-da41-8d7b-12977e46ad98 --- pjsip/src/pjsip/sip_msg.c | 33 +++++++++++++++++++++++++++------ 1 file changed, 27 insertions(+), 6 deletions(-) (limited to 'pjsip/src') diff --git a/pjsip/src/pjsip/sip_msg.c b/pjsip/src/pjsip/sip_msg.c index d5eb1009..1e4c5729 100644 --- a/pjsip/src/pjsip/sip_msg.c +++ b/pjsip/src/pjsip/sip_msg.c @@ -505,6 +505,25 @@ static pjsip_hdr_vptr generic_hdr_vptr = (pjsip_hdr_print_fptr) &pjsip_generic_string_hdr_print, }; + +PJ_DEF(void) pjsip_generic_string_hdr_init2(pjsip_generic_string_hdr *hdr, + pj_str_t *hname, + pj_str_t *hvalue) +{ + init_hdr(hdr, PJSIP_H_OTHER, &generic_hdr_vptr); + if (hname) { + hdr->name = *hname; + hdr->sname = *hname; + } + if (hvalue) { + hdr->hvalue = *hvalue; + } else { + hdr->hvalue.ptr = NULL; + hdr->hvalue.slen = 0; + } +} + + PJ_DEF(pjsip_generic_string_hdr*) pjsip_generic_string_hdr_init( pj_pool_t *pool, void *mem, @@ -512,19 +531,21 @@ pjsip_generic_string_hdr_init( pj_pool_t *pool, const pj_str_t *hvalue) { pjsip_generic_string_hdr *hdr = mem; + pj_str_t dup_hname, dup_hval; - init_hdr(hdr, PJSIP_H_OTHER, &generic_hdr_vptr); if (hnames) { - pj_strdup(pool, &hdr->name, hnames); - hdr->sname = hdr->name; + pj_strdup(pool, &dup_hname, hnames); + } else { + dup_hname.slen = 0; } + if (hvalue) { - pj_strdup(pool, &hdr->hvalue, hvalue); + pj_strdup(pool, &dup_hval, hvalue); } else { - hdr->hvalue.ptr = NULL; - hdr->hvalue.slen = 0; + dup_hval.slen = 0; } + pjsip_generic_string_hdr_init2(hdr, &dup_hname, &dup_hval); return hdr; } -- cgit v1.2.3