|
@@ -56,6 +56,9 @@ str *rr_get_avp_cookies(void) {
|
|
|
str *avp_name;
|
|
|
str *result = 0;
|
|
|
rr_avp_flags_t avp_flags;
|
|
|
+ struct str_int_data *sid;
|
|
|
+ struct str_str_data *ssd;
|
|
|
+
|
|
|
|
|
|
len = sizeof(crc);
|
|
|
for (avp_list_no=0; avp_list_no<MAX_AVP_DIALOG_LISTS; avp_list_no++) {
|
|
@@ -66,11 +69,13 @@ str *rr_get_avp_cookies(void) {
|
|
|
|
|
|
if ((avp->flags&(AVP_NAME_STR|AVP_VAL_STR)) == AVP_NAME_STR) {
|
|
|
/* avp type str, int value */
|
|
|
- avp_name = & ((struct str_int_data*)avp->d.p)->name;
|
|
|
+ sid = (struct str_int_data*)&avp->d.data[0];
|
|
|
+ avp_name = &sid->name;
|
|
|
}
|
|
|
else if ((avp->flags&(AVP_NAME_STR|AVP_VAL_STR)) == (AVP_NAME_STR|AVP_VAL_STR)) {
|
|
|
/* avp type str, str value */
|
|
|
- avp_name = & ((struct str_str_data*)avp->d.p)->name;
|
|
|
+ ssd = (struct str_str_data*)&avp->d.data[0];
|
|
|
+ avp_name = &ssd->name;
|
|
|
}
|
|
|
else
|
|
|
avp_name = 0; /* dummy */
|