summaryrefslogtreecommitdiff
path: root/pjsip/include/pjsip/print_util.h
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2007-06-26 00:25:11 +0000
committerBenny Prijono <bennylp@teluu.com>2007-06-26 00:25:11 +0000
commit5c5a5345ea7419e15bfdc457487f66803de5b021 (patch)
treece7655b85a613491e4d800d7a44d1ba35bfcbd74 /pjsip/include/pjsip/print_util.h
parentdd49a84c46ef7ea0cb755bfa8e78e6395f544c4e (diff)
Ticket #342: added configuration to send compact form of SIP headers
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@1389 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip/include/pjsip/print_util.h')
-rw-r--r--pjsip/include/pjsip/print_util.h18
1 files changed, 16 insertions, 2 deletions
diff --git a/pjsip/include/pjsip/print_util.h b/pjsip/include/pjsip/print_util.h
index c75b6e27..d7f30a08 100644
--- a/pjsip/include/pjsip/print_util.h
+++ b/pjsip/include/pjsip/print_util.h
@@ -101,13 +101,27 @@
typedef void* (*pjsip_hdr_clone_fptr)(pj_pool_t *, const void*);
typedef int (*pjsip_hdr_print_fptr)(void *hdr, char *buf, pj_size_t len);
-extern const pj_str_t pjsip_hdr_names[];
+typedef struct pjsip_hdr_name_info_t
+{
+ char *name;
+ unsigned name_len;
+ char *sname;
+} pjsip_hdr_name_info_t;
+
+extern const pjsip_hdr_name_info_t pjsip_hdr_names[];
PJ_INLINE(void) init_hdr(void *hptr, pjsip_hdr_e htype, void *vptr)
{
pjsip_hdr *hdr = (pjsip_hdr*) hptr;
hdr->type = htype;
- hdr->name = hdr->sname = pjsip_hdr_names[htype];
+ hdr->name.ptr = pjsip_hdr_names[htype].name;
+ hdr->name.slen = pjsip_hdr_names[htype].name_len;
+ if (pjsip_hdr_names[htype].sname) {
+ hdr->sname.ptr = pjsip_hdr_names[htype].sname;
+ hdr->sname.slen = 1;
+ } else {
+ hdr->sname = hdr->name;
+ }
hdr->vptr = (pjsip_hdr_vptr*) vptr;
pj_list_init(hdr);
}