Skip to content

Commit

Permalink
dialog: set dlg var table as static and rename to avoid name conflicts
Browse files Browse the repository at this point in the history
  • Loading branch information
miconda committed Aug 25, 2015
1 parent 284fcb6 commit cbc0c72
Showing 1 changed file with 10 additions and 9 deletions.
19 changes: 10 additions & 9 deletions modules/dialog/dlg_var.c
Expand Up @@ -40,7 +40,7 @@ dlg_ctx_t _dlg_ctx;
extern int spiral_detected;

/*! global variable table, in case the dialog does not exist yet */
struct dlg_var * var_table = 0;
static struct dlg_var *_dlg_var_table = 0;
/*! ID of the current message */
int msg_id;

Expand Down Expand Up @@ -127,13 +127,14 @@ static inline struct dlg_var *new_dlg_var(str *key, str *val)
/*! Delete the current var-list */
void free_local_varlist() {
struct dlg_var *var;
while (var_table) {
var = var_table;
var_table = var_table->next;
while (_dlg_var_table) {
var = _dlg_var_table;
_dlg_var_table = _dlg_var_table->next;
shm_free(var->key.s);
shm_free(var->value.s);
shm_free(var);
}
_dlg_var_table = NULL;
}

/*! Retrieve the local var-list pointer */
Expand All @@ -144,9 +145,9 @@ struct dlg_var * get_local_varlist_pointer(struct sip_msg *msg, int clear_pointe
free_local_varlist();
msg_id = msg->id;
}
var = var_table;
var = _dlg_var_table;
if (clear_pointer)
var_table = NULL;
_dlg_var_table = NULL;
return var;
}

Expand All @@ -161,7 +162,7 @@ int set_dlg_variable_unsafe(struct dlg_cell *dlg, str *key, str *val)
if (dlg)
var_list = &dlg->vars;
else
var_list = &var_table;
var_list = &_dlg_var_table;

if ( val && (var=new_dlg_var(key, val))==NULL) {
LM_ERR("failed to create new dialog variable\n");
Expand Down Expand Up @@ -216,7 +217,7 @@ str * get_dlg_variable_unsafe(struct dlg_cell *dlg, str *key)
if (dlg)
var_list = dlg->vars;
else
var_list = var_table;
var_list = _dlg_var_table;

/* iterate the list */
for(var=var_list ; var ; var=var->next) {
Expand Down Expand Up @@ -244,7 +245,7 @@ int pv_parse_dialog_var_name(pv_spec_p sp, str *in)
/*! Internal debugging function: Prints the list of dialogs */
void print_lists(struct dlg_cell *dlg) {
struct dlg_var *varlist;
varlist = var_table;
varlist = _dlg_var_table;
LM_DBG("Internal var-list (%p):\n", varlist);
while (varlist) {
LM_DBG("%.*s=%.*s (flags %i)\n",
Expand Down

0 comments on commit cbc0c72

Please sign in to comment.