Module: kamailio
Branch: master
Commit: a3d3239833a8ca91566a28de2217ec166601e64f
URL:
https://github.com/kamailio/kamailio/commit/a3d3239833a8ca91566a28de2217ec1…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2017-07-27T09:12:46+02:00
avp: typedef hdr name struct to simplify memory allocation
---
Modified: src/modules/avp/avp.c
---
Diff:
https://github.com/kamailio/kamailio/commit/a3d3239833a8ca91566a28de2217ec1…
Patch:
https://github.com/kamailio/kamailio/commit/a3d3239833a8ca91566a28de2217ec1…
---
diff --git a/src/modules/avp/avp.c b/src/modules/avp/avp.c
index 84ecf4d6dd..d6c8b3323d 100644
--- a/src/modules/avp/avp.c
+++ b/src/modules/avp/avp.c
@@ -60,7 +60,7 @@ MODULE_VERSION
#define VAL_TYPE_INT (1<<0)
#define VAL_TYPE_STR (1<<1)
-struct hdr_name {
+typedef struct hdr_name {
enum {hdrId, hdrStr} kind;
union {
int n;
@@ -69,7 +69,7 @@ struct hdr_name {
char field_delimiter;
char array_delimiter;
int val_types;
-};
+} hdr_name_t;
static int xlbuf_size=256;
static char* xlbuf=NULL;
@@ -1379,7 +1379,7 @@ static int attr_hdr_body2attrs2(struct sip_msg* msg, char* header_,
char* prefix
static int attr_hdr_body2attrs_fixup(void **param, int param_no)
{
char *c, *params;
- struct hdr_name *h;
+ hdr_name_t *h;
int n;
str *s;
if(param_no == 1) {
@@ -1408,7 +1408,7 @@ static int attr_hdr_body2attrs_fixup(void **param, int param_no)
c, n);
return E_CFG;
}
- h = pkg_malloc(sizeof(*h));
+ h = pkg_malloc(sizeof(hdr_name_t));
if(!h) {
LOG(L_ERR, "attr_hdr_body2attrs_fixup: out of memory\n");
return E_OUT_OF_MEM;
@@ -1428,14 +1428,14 @@ static int attr_hdr_body2attrs_fixup(void **param, int param_no)
LOG(L_ERR, "attr_hdr_body2attrs_fixup: header name is empty\n");
return E_CFG;
}
- h = pkg_malloc(sizeof(*h) + n + 1);
+ h = pkg_malloc(sizeof(hdr_name_t) + n + 1);
if(!h) {
LOG(L_ERR, "attr_hdr_body2attrs_fixup: out of memory\n");
return E_OUT_OF_MEM;
}
h->kind = HDR_STR;
h->name.s.len = n;
- h->name.s.s = (char *)h + sizeof(*h);
+ h->name.s.s = (char *)h + sizeof(hdr_name_t);
memcpy(h->name.s.s, c, n + 1);
}
if(params) {
@@ -1478,13 +1478,13 @@ static int attr_hdr_body2attrs_fixup(void **param, int param_no)
if(n == 0) {
s = NULL;
} else {
- s = pkg_malloc(sizeof(*s) + n + 1);
+ s = pkg_malloc(sizeof(str) + n + 1);
if(!s) {
LOG(L_ERR, "attr_hdr_body2attrs_fixup: out of memory\n");
return E_OUT_OF_MEM;
}
s->len = n;
- s->s = (char *)s + sizeof(*s);
+ s->s = (char *)s + sizeof(str);
memcpy(s->s, *param, n + 1);
}
pkg_free(*param);
@@ -1506,7 +1506,6 @@ static int attr_hdr_body2attrs2_fixup(void** param, int param_no)
}
-
static int avpgroup_fixup(void** param, int param_no)
{
unsigned long flags;
@@ -1581,7 +1580,6 @@ static int avpgroup_fixup(void** param, int param_no)
}
-
static int select_attr_fixup(str* res, select_t* s, struct sip_msg* msg)
{
avp_ident_t *avp_ident;