Skip to content

Commit

Permalink
pua_dialoginfo: use dlg api function get_dlg_varval()
Browse files Browse the repository at this point in the history
  • Loading branch information
miconda committed Sep 23, 2022
1 parent cd4e225 commit a2d9a2f
Showing 1 changed file with 19 additions and 15 deletions.
34 changes: 19 additions & 15 deletions src/modules/pua_dialoginfo/pua_dialoginfo.c
Original file line number Diff line number Diff line change
Expand Up @@ -315,11 +315,13 @@ void refresh_pubruri_avps(struct dlginfo_cell *dlginfo, str *uri)
}

void refresh_local_identity(struct dlg_cell *dlg, str *uri) {
str *s = dlg_api.get_dlg_var(dlg, &local_identity_dlg_var);
str s = {0};

if(s != NULL) {
uri->s = s->s;
uri->len = s->len;
dlg_api.get_dlg_varval(dlg, &local_identity_dlg_var, &s);

if(s.s != NULL) {
uri->s = s.s;
uri->len = s.len;
LM_DBG("Found local_identity in dialog '%.*s'\n",
uri->len, uri->s);
}
Expand Down Expand Up @@ -576,7 +578,7 @@ struct dlginfo_cell* get_dialog_data(struct dlg_cell *dlg, int type, int disable
{
struct dlginfo_cell *dlginfo;
int len;
str* s=NULL;
str dval = {0};

// generate new random uuid
if(sruid_next_safe(&_puadi_sruid) < 0) {
Expand Down Expand Up @@ -652,9 +654,10 @@ struct dlginfo_cell* get_dialog_data(struct dlg_cell *dlg, int type, int disable

} else {
if(caller_dlg_var.len>0
&& (s = dlg_api.get_dlg_var(dlg, &caller_dlg_var))!=0) {
&& (dlg_api.get_dlg_varval(dlg, &caller_dlg_var, &dval)==0)
&& dval.s!=NULL) {
dlginfo->pubruris_caller =
(struct str_list*)shm_malloc(sizeof(struct str_list) + s->len + 1);
(struct str_list*)shm_malloc(sizeof(struct str_list) + dval.len + 1);
if (dlginfo->pubruris_caller==0) {
SHM_MEM_ERROR;
free_dlginfo_cell(dlginfo);
Expand All @@ -663,17 +666,18 @@ struct dlginfo_cell* get_dialog_data(struct dlg_cell *dlg, int type, int disable
memset(dlginfo->pubruris_caller, 0, sizeof(struct str_list));
dlginfo->pubruris_caller->s.s = (char*)dlginfo->pubruris_caller
+ sizeof(sizeof(struct str_list));
memcpy(dlginfo->pubruris_caller->s.s, s->s, s->len);
dlginfo->pubruris_caller->s.s[s->len] = '\0';
dlginfo->pubruris_caller->s.len = s->len;
memcpy(dlginfo->pubruris_caller->s.s, dval.s, dval.len);
dlginfo->pubruris_caller->s.s[dval.len] = '\0';
dlginfo->pubruris_caller->s.len = dval.len;
LM_DBG("Found pubruris_caller in dialog '%.*s'\n",
dlginfo->pubruris_caller->s.len, dlginfo->pubruris_caller->s.s);
}

if(callee_dlg_var.len>0
&& (s = dlg_api.get_dlg_var(dlg, &callee_dlg_var))!=0) {
&& (dlg_api.get_dlg_varval(dlg, &callee_dlg_var, &dval)==0)
&& dval.s!=NULL) {
dlginfo->pubruris_callee =
(struct str_list*)shm_malloc(sizeof(struct str_list) + s->len + 1);
(struct str_list*)shm_malloc(sizeof(struct str_list) + dval.len + 1);
if (dlginfo->pubruris_callee==0) {
SHM_MEM_ERROR;
free_dlginfo_cell(dlginfo);
Expand All @@ -682,9 +686,9 @@ struct dlginfo_cell* get_dialog_data(struct dlg_cell *dlg, int type, int disable
memset(dlginfo->pubruris_callee, 0, sizeof(struct str_list));
dlginfo->pubruris_callee->s.s = (char*)dlginfo->pubruris_callee
+ sizeof(sizeof(struct str_list));
memcpy(dlginfo->pubruris_callee->s.s, s->s, s->len);
dlginfo->pubruris_callee->s.s[s->len] = '\0';
dlginfo->pubruris_callee->s.len = s->len;
memcpy(dlginfo->pubruris_callee->s.s, dval.s, dval.len);
dlginfo->pubruris_callee->s.s[dval.len] = '\0';
dlginfo->pubruris_callee->s.len = dval.len;
LM_DBG("Found pubruris_callee in dialog '%.*s'\n",
dlginfo->pubruris_callee->s.len, dlginfo->pubruris_callee->s.s);
}
Expand Down

0 comments on commit a2d9a2f

Please sign in to comment.