From b0f713cdeec6602682f9bb7b2ae7bca1fd346859 Mon Sep 17 00:00:00 2001 From: Benny Prijono Date: Wed, 16 Jul 2008 12:31:57 +0000 Subject: Ticket #572: New PJSIP pjsip_msg_find_hdr_by_names() API to find SIP header by either header name or the short header name git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2146 74dad513-b988-da41-8d7b-12977e46ad98 --- pjsip/src/pjsip/sip_msg.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'pjsip/src') diff --git a/pjsip/src/pjsip/sip_msg.c b/pjsip/src/pjsip/sip_msg.c index 9ef2270e..9f15f831 100644 --- a/pjsip/src/pjsip/sip_msg.c +++ b/pjsip/src/pjsip/sip_msg.c @@ -361,6 +361,25 @@ PJ_DEF(void*) pjsip_msg_find_hdr_by_name( const pjsip_msg *msg, return NULL; } +PJ_DEF(void*) pjsip_msg_find_hdr_by_names( const pjsip_msg *msg, + const pj_str_t *name, + const pj_str_t *sname, + const void *start) +{ + const pjsip_hdr *hdr=(const pjsip_hdr*)start, *end=&msg->hdr; + + if (hdr == NULL) { + hdr = msg->hdr.next; + } + for (; hdr!=end; hdr = hdr->next) { + if (pj_stricmp(&hdr->name, name) == 0) + return (void*)hdr; + if (pj_stricmp(&hdr->name, sname) == 0) + return (void*)hdr; + } + return NULL; +} + PJ_DEF(void*) pjsip_msg_find_remove_hdr( pjsip_msg *msg, pjsip_hdr_e hdr_type, void *start) { -- cgit v1.2.3