From 7211e7828bd838c9202bac28ee876c29e583da9d Mon Sep 17 00:00:00 2001 From: Liviu Chircu Date: Wed, 5 Feb 2020 19:28:10 +0200 Subject: [PATCH] qrouting: Fix undefined vars; Startup works now --- modules/qrouting/qr_acc.c | 8 +++++--- modules/qrouting/qr_acc.h | 1 - modules/qrouting/qr_stats.c | 29 +++++++++++++++-------------- modules/qrouting/qrouting.c | 2 +- 4 files changed, 21 insertions(+), 19 deletions(-) diff --git a/modules/qrouting/qr_acc.c b/modules/qrouting/qr_acc.c index f44612c4c15..419d9f9ca1e 100644 --- a/modules/qrouting/qr_acc.c +++ b/modules/qrouting/qr_acc.c @@ -21,11 +21,13 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#include "qr_acc.h" - #include "../drouting/dr_cb.h" -int myn = 0; +#include "qr_acc.h" + +struct tm_binds tmb; +struct dlg_binds dlgcb; +struct dr_binds drb; #define QR_PTR_POISON ((void *)0x10203040) diff --git a/modules/qrouting/qr_acc.h b/modules/qrouting/qr_acc.h index 841bd69d0d8..d353547162b 100644 --- a/modules/qrouting/qr_acc.h +++ b/modules/qrouting/qr_acc.h @@ -36,7 +36,6 @@ extern struct tm_binds tmb; extern struct dlg_binds dlgcb; extern struct dr_binds drb; -extern struct dlg * dlg_cell; typedef struct qr_trans_prop { qr_gw_t *gw; diff --git a/modules/qrouting/qr_stats.c b/modules/qrouting/qr_stats.c index 5e727b02049..44c1170c7dc 100644 --- a/modules/qrouting/qr_stats.c +++ b/modules/qrouting/qr_stats.c @@ -318,45 +318,46 @@ void qr_create_partition_list(void *param) { struct dr_create_partition_list_params *pp = (struct dr_create_partition_list_params *)param; - qr_partitions_t **pl = (qr_partitions_t **)pp->part_list; + qr_partitions_t **ppl = (qr_partitions_t **)pp->part_list, *pl = NULL; int np = pp->n_parts; - *pl = shm_malloc(sizeof *pl); + pl = shm_malloc(sizeof *pl); if (!pl) { LM_ERR("oom\n"); return; } memset(pl, 0, sizeof *pl); + *ppl = pl; - if (!((*pl)->rw_lock = lock_init_rw())) { + if (!(pl->rw_lock = lock_init_rw())) { LM_ERR("failed to init rw lock"); goto error; } - (*pl)->qr_rules_start = shm_malloc(np * sizeof (qr_rule_t *)); - if (!(*pl)->qr_rules_start) { + pl->qr_rules_start = shm_malloc(np * sizeof (qr_rule_t *)); + if (!pl->qr_rules_start) { LM_ERR("oom\n"); goto error; } - (*pl)->part_name = shm_malloc(np * sizeof (str)); - if (!(*pl)->part_name) { + pl->part_name = shm_malloc(np * sizeof (str)); + if (!pl->part_name) { LM_ERR("oom\n"); goto error; } - (*pl)->n_parts = np; + pl->n_parts = np; - memset((*pl)->part_name, 0, np * sizeof (str)); - memset((*pl)->qr_rules_start, 0, np * sizeof (qr_rule_t *)); + memset(pl->part_name, 0, np * sizeof (str)); + memset(pl->qr_rules_start, 0, np * sizeof (qr_rule_t *)); return; error: - if ((*pl)->rw_lock) - lock_destroy_rw((*pl)->rw_lock); + if (pl->rw_lock) + lock_destroy_rw(pl->rw_lock); - if ((*pl)->qr_rules_start) - shm_free((*pl)->qr_rules_start); + if (pl->qr_rules_start) + shm_free(pl->qr_rules_start); if (pl) shm_free(pl); diff --git a/modules/qrouting/qrouting.c b/modules/qrouting/qrouting.c index a5f2d74a123..ad0d3e7b9e7 100644 --- a/modules/qrouting/qrouting.c +++ b/modules/qrouting/qrouting.c @@ -366,7 +366,7 @@ static int qr_check_db(void) } if (!DB_CAPABILITY(qr_dbf, DB_CAP_QUERY)) { - LM_ERR("database module does not provide"\ + LM_ERR("database module does not provide" " query functions required by qrouting\n"); return -1; }