diff options
Diffstat (limited to 'apps/app_queue.c')
-rw-r--r-- | apps/app_queue.c | 23 |
1 files changed, 8 insertions, 15 deletions
diff --git a/apps/app_queue.c b/apps/app_queue.c index a435f7f12..fe2bd4987 100644 --- a/apps/app_queue.c +++ b/apps/app_queue.c @@ -650,7 +650,10 @@ static struct member *create_queue_member(const char *interface, const char *mem cur->penalty = penalty; cur->paused = paused; ast_copy_string(cur->interface, interface, sizeof(cur->interface)); - ast_copy_string(cur->membername, membername, sizeof(cur->membername)); + if(!ast_strlen_zero(membername)) + ast_copy_string(cur->membername, membername, sizeof(cur->membername)); + else + ast_copy_string(cur->membername, interface, sizeof(cur->membername)); if (!strchr(cur->interface, '/')) ast_log(LOG_WARNING, "No location at interface '%s'\n", interface); cur->status = ast_device_state(interface); @@ -1145,7 +1148,7 @@ static struct call_queue *find_queue_by_name_rt(const char *queuename, struct as while ((interface = ast_category_browse(member_config, interface))) { rt_handle_member_record(q, interface, - S_OR(ast_variable_retrieve(member_config, interface, "membername"), interface), + ast_variable_retrieve(member_config, interface, "membername"), ast_variable_retrieve(member_config, interface, "penalty"), ast_variable_retrieve(member_config, interface, "paused")); } @@ -3045,7 +3048,7 @@ static void reload_queue_members(void) char *queue_name; char *member; char *interface; - char *membername; + char *membername = NULL; char *penalty_tok; int penalty = 0; char *paused_tok; @@ -3347,10 +3350,6 @@ static int aqm_exec(struct ast_channel *chan, void *data) priority_jump = 1; } - if (ast_strlen_zero(args.membername)) - args.membername = args.interface; - - switch (add_to_queue(args.queuename, args.interface, args.membername, penalty, 0, queue_persistent_members)) { case RES_OKAY: ast_queue_log(args.queuename, chan->uniqueid, args.interface, "ADDMEMBER", "%s", ""); @@ -3944,8 +3943,7 @@ static int reload_queues(void) if (!ast_strlen_zero(args.membername)) { membername = args.membername; while (*membername && *membername < 33) membername++; - } else - membername = interface; + } /* Find the old position in the list */ ast_copy_string(tmpmem.interface, interface, sizeof(tmpmem.interface)); @@ -4321,9 +4319,6 @@ static int manager_add_queue_member(struct mansession *s, const struct message * else paused = abs(ast_true(paused_s)); - if (ast_strlen_zero(membername)) - membername = interface; - switch (add_to_queue(queuename, interface, membername, penalty, paused, queue_persistent_members)) { case RES_OKAY: ast_queue_log(queuename, "MANAGER", interface, "ADDMEMBER", "%s", ""); @@ -4399,7 +4394,7 @@ static int manager_pause_queue_member(struct mansession *s, const struct message static int handle_queue_add_member(int fd, int argc, char *argv[]) { - char *queuename, *interface, *membername; + char *queuename, *interface, *membername = NULL; int penalty; if ((argc != 6) && (argc != 8) && (argc != 10)) { @@ -4430,8 +4425,6 @@ static int handle_queue_add_member(int fd, int argc, char *argv[]) if (argc >= 10) { membername = argv[9]; - } else { - membername = interface; } switch (add_to_queue(queuename, interface, membername, penalty, 0, queue_persistent_members)) { |