Skip to content

Commit

Permalink
qrouting: Fix undefined vars; Startup works now
Browse files Browse the repository at this point in the history
  • Loading branch information
liviuchircu committed Feb 5, 2020
1 parent 9cf7fad commit 7211e78
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 19 deletions.
8 changes: 5 additions & 3 deletions modules/qrouting/qr_acc.c
Expand Up @@ -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)

Expand Down
1 change: 0 additions & 1 deletion modules/qrouting/qr_acc.h
Expand Up @@ -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;
Expand Down
29 changes: 15 additions & 14 deletions modules/qrouting/qr_stats.c
Expand Up @@ -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);
Expand Down
2 changes: 1 addition & 1 deletion modules/qrouting/qrouting.c
Expand Up @@ -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;
}
Expand Down

0 comments on commit 7211e78

Please sign in to comment.