diff --git a/apps/app_queue.c b/apps/app_queue.c index 660b877013..668fe57eb8 100644 --- a/apps/app_queue.c +++ b/apps/app_queue.c @@ -413,7 +413,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") - Unpauses a queue member. + Unpauses a queue member. @@ -1358,8 +1358,8 @@ enum queue_timeout_priority { * q_next links ALL defined callattempt structures into a linked list. call_next is * a link which allows for a subset of the callattempts to be traversed. This subset * is used in wait_for_answer so that irrelevant callattempts are not traversed. This - * also is helpful so that queue logs are always accurate in the case where a call to - * a member times out, especially if using the ringall strategy. + * also is helpful so that queue logs are always accurate in the case where a call to + * a member times out, especially if using the ringall strategy. */ struct callattempt { @@ -1565,7 +1565,7 @@ struct call_queue { int rrpos; /*!< Round Robin - position */ int memberdelay; /*!< Seconds to delay connecting member to caller */ int autofill; /*!< Ignore the head call status and ring an available agent */ - + struct ao2_container *members; /*!< Head of the list of members */ struct queue_ent *head; /*!< Head of the list of callers */ AST_LIST_ENTRY(call_queue) list; /*!< Next call queue */ @@ -1780,7 +1780,7 @@ static void set_queue_variables(struct call_queue *q, struct ast_channel *chan) ao2_unlock(q); - pbx_builtin_setvar_multiple(chan, interfacevar); + pbx_builtin_setvar_multiple(chan, interfacevar); } else { ao2_unlock(q); } @@ -2304,7 +2304,7 @@ static int compress_char(const char c) return 0; } else if (c > 96) { return c - 64; - } + } return c - 32; } @@ -2466,7 +2466,7 @@ static int insert_penaltychange(const char *list_name, const char *content, cons } contentdup = ast_strdupa(content); - + if (!(maxstr = strchr(contentdup, ','))) { ast_log(LOG_WARNING, "Improperly formatted penaltychange rule at line %d. Ignoring.\n", linenum); ast_free(rule); @@ -2487,7 +2487,7 @@ static int insert_penaltychange(const char *list_name, const char *content, cons if ((minstr = strchr(maxstr,','))) { *minstr++ = '\0'; } - + /* The last check will evaluate true if either no penalty change is indicated for a given rule * OR if a min penalty change is indicated but no max penalty change is */ if (*maxstr == '+' || *maxstr == '-' || *maxstr == '\0') { @@ -2519,7 +2519,7 @@ static int insert_penaltychange(const char *list_name, const char *content, cons } } AST_LIST_TRAVERSE_SAFE_END; - + if (!inserted) { AST_LIST_INSERT_TAIL(&rl_iter->rules, rule, list); inserted = 1; @@ -2572,7 +2572,7 @@ static void parse_empty_options(const char *value, enum empty_conditions *empty, } /*! \brief Configure a queue parameter. - * + * * The failunknown flag is set for config files (and static realtime) to show * errors for unknown parameters. It is cleared for dynamic realtime to allow * extra fields in the tables. @@ -2581,7 +2581,7 @@ static void parse_empty_options(const char *value, enum empty_conditions *empty, */ static void queue_set_param(struct call_queue *q, const char *param, const char *val, int linenum, int failunknown) { - if (!strcasecmp(param, "musicclass") || + if (!strcasecmp(param, "musicclass") || !strcasecmp(param, "music") || !strcasecmp(param, "musiconhold")) { ast_string_field_set(q, moh, val); } else if (!strcasecmp(param, "announce")) { @@ -2980,7 +2980,7 @@ static struct call_queue *find_queue_by_name_rt(const char *queuename, struct as ao2_unlock(q); queue_t_unref(q, "Queue is dead; can't return it"); return NULL; - } + } ast_log(LOG_WARNING, "Static queue '%s' already exists. Not loading from realtime\n", q->name); ao2_unlock(q); return q; @@ -3555,7 +3555,7 @@ static void recalc_holdtime(struct queue_ent *qe, int newholdtime) } /*! \brief Caller leaving queue. - * + * * Search the queue to find the leaving client, if found remove from queue * create manager event, move others up the queue. */ @@ -3866,11 +3866,11 @@ static int can_ring_entry(struct queue_ent *qe, struct callattempt *call) return 1; } -/*! +/*! * \brief Part 2 of ring_one * - * Does error checking before attempting to request a channel and call a member. - * This function is only called from ring_one(). + * Does error checking before attempting to request a channel and call a member. + * This function is only called from ring_one(). * Failure can occur if: * - Agent on call * - Agent is paused @@ -3941,7 +3941,7 @@ static int ring_entry(struct queue_ent *qe, struct callattempt *tmp, int *busies } else if (!ast_strlen_zero(ast_channel_dialed(qe->chan)->number.str)) { ast_set_callerid(tmp->chan, ast_channel_dialed(qe->chan)->number.str, NULL, NULL); } else if (!ast_strlen_zero(S_OR(ast_channel_macroexten(qe->chan), ast_channel_exten(qe->chan)))) { - ast_set_callerid(tmp->chan, S_OR(ast_channel_macroexten(qe->chan), ast_channel_exten(qe->chan)), NULL, NULL); + ast_set_callerid(tmp->chan, S_OR(ast_channel_macroexten(qe->chan), ast_channel_exten(qe->chan)), NULL, NULL); } tmp->dial_callerid_absent = 1; } @@ -4017,7 +4017,7 @@ static struct callattempt *find_best(struct callattempt *outgoing) return best; } -/*! +/*! * \brief Place a call to a queue member. * * Once metrics have been calculated for each member, this function is used @@ -4051,7 +4051,7 @@ static int ring_one(struct queue_ent *qe, struct callattempt *outgoing, int *bus ast_debug(1, "Trying '%s' with metric %d\n", best->interface, best->metric); ret = ring_entry(qe, best, busies); } - + /* If we have timed out, break out */ if (qe->expire && (time(NULL) >= qe->expire)) { ast_debug(1, "Queue timed out while ringing members.\n"); @@ -4133,14 +4133,14 @@ static int say_periodic_announcement(struct queue_ent *qe, int ringing) } ast_verb(3, "Playing periodic announcement\n"); - + if (qe->parent->randomperiodicannounce && qe->parent->numperiodicannounce) { qe->last_periodic_announce_sound = ((unsigned long) ast_random()) % qe->parent->numperiodicannounce; - } else if (qe->last_periodic_announce_sound >= qe->parent->numperiodicannounce || + } else if (qe->last_periodic_announce_sound >= qe->parent->numperiodicannounce || ast_str_strlen(qe->parent->sound_periodicannounce[qe->last_periodic_announce_sound]) == 0) { qe->last_periodic_announce_sound = 0; } - + /* play the announcement */ res = play_file(qe->chan, ast_str_buffer(qe->parent->sound_periodicannounce[qe->last_periodic_announce_sound])); @@ -4785,7 +4785,7 @@ skip_frame:; if (qe->parent->periodicannouncefrequency && qe->parent->announce_to_first_user) { say_periodic_announcement(qe, ringing); } - + if (!*to) { for (o = start; o; o = o->call_next) { rna(orig, qe, o->chan, o->interface, o->member->membername, 1); @@ -4805,7 +4805,7 @@ skip_frame:; return peer; } -/*! +/*! * \brief Check if we should start attempting to call queue members. * * A simple process, really. Count the number of members who are available @@ -4835,11 +4835,11 @@ static int is_our_turn(struct queue_ent *qe) if (!ch->pending) { idx++; } - ch = ch->next; + ch = ch->next; } ao2_unlock(qe->parent); - /* If the queue entry is within avl [the number of available members] calls from the top ... + /* If the queue entry is within avl [the number of available members] calls from the top ... * Autofill and position check added to support autofill=no (as only calls * from the front of the queue are valid when autofill is disabled) */ @@ -4864,7 +4864,7 @@ static void update_qe_rule(struct queue_ent *qe) { int max_penalty = qe->pr->max_relative ? qe->max_penalty + qe->pr->max_value : qe->pr->max_value; int min_penalty = qe->pr->min_relative ? qe->min_penalty + qe->pr->min_value : qe->pr->min_value; - char max_penalty_str[20], min_penalty_str[20]; + char max_penalty_str[20], min_penalty_str[20]; /* a relative change to the penalty could put it below 0 */ if (max_penalty < 0) { max_penalty = 0; @@ -4939,7 +4939,7 @@ static int wait_our_turn(struct queue_ent *qe, int ringing, enum queue_result *r if (qe->parent->periodicannouncefrequency && (res = say_periodic_announcement(qe,ringing))) break; - + /* see if we need to move to the next penalty level for this queue */ while (qe->pr && ((time(NULL) - qe->start) >= qe->pr->time)) { update_qe_rule(qe); @@ -4950,7 +4950,7 @@ static int wait_our_turn(struct queue_ent *qe, int ringing, enum queue_result *r *reason = QUEUE_TIMEOUT; break; } - + /* Wait a second before checking again */ if ((res = ast_waitfordigit(qe->chan, RECHECK * 1000))) { if (res > 0 && !valid_exit(qe, res)) { @@ -4959,7 +4959,7 @@ static int wait_our_turn(struct queue_ent *qe, int ringing, enum queue_result *r break; } } - + /* If we have timed out, break out */ if (qe->expire && (time(NULL) >= qe->expire)) { *reason = QUEUE_TIMEOUT; @@ -5003,7 +5003,7 @@ static int update_queue(struct call_queue *q, struct member *member, int callcom member->calls++; member->lastqueue = q; ao2_unlock(q); - } + } ao2_lock(q); q->callscompleted++; if (callcompletedinsl) { @@ -5187,7 +5187,7 @@ static void queue_transfer_fixup(void *data, struct ast_channel *old_chan, struc (long) (time(NULL) - callstart), qe->opos); update_queue(qe->parent, member, callcompletedinsl, (time(NULL) - callstart)); - + /* No need to lock the channels because they are already locked in ast_do_masquerade */ if ((datastore = ast_channel_datastore_find(old_chan, &queue_transfer_info, NULL))) { ast_channel_datastore_remove(old_chan, datastore); @@ -5320,7 +5320,7 @@ static void setup_peer_after_bridge_goto(struct ast_channel *chan, struct ast_ch * \param[in] qe the queue_ent structure which corresponds to the caller attempting to reach members * \param[in] opts the options passed as the third parameter to the Queue() application * \param[in] opt_args the options passed as the third parameter to the Queue() application - * \param[in] announceoverride filename to play to user when waiting + * \param[in] announceoverride filename to play to user when waiting * \param[in] url the url passed as the fourth parameter to the Queue() application * \param[in,out] tries the number of times we have tried calling queue members * \param[out] noption set if the call to Queue() has the 'n' option set. @@ -5423,7 +5423,7 @@ static int try_calling(struct queue_ent *qe, struct ast_flags opts, char **opt_a ast_set_flag(&(bridge_config.features_caller), AST_FEATURE_PARKCALL); } if (ast_test_flag(&opts, OPT_NO_RETRY)) { - if (qe->parent->strategy == QUEUE_STRATEGY_RRMEMORY || qe->parent->strategy == QUEUE_STRATEGY_LINEAR + if (qe->parent->strategy == QUEUE_STRATEGY_RRMEMORY || qe->parent->strategy == QUEUE_STRATEGY_LINEAR || qe->parent->strategy == QUEUE_STRATEGY_RRORDERED) { (*tries)++; } else { @@ -5504,7 +5504,7 @@ static int try_calling(struct queue_ent *qe, struct ast_flags opts, char **opt_a AST_LIST_LOCK(dialed_interfaces); AST_LIST_TRAVERSE(dialed_interfaces, di, list) { if (!strcasecmp(cur->interface, di->interface)) { - ast_debug(1, "Skipping dialing interface '%s' since it has already been dialed\n", + ast_debug(1, "Skipping dialing interface '%s' since it has already been dialed\n", di->interface); break; } @@ -5559,7 +5559,7 @@ static int try_calling(struct queue_ent *qe, struct ast_flags opts, char **opt_a XXX If we're forcibly removed, these outgoing calls won't get hung up XXX */ tmp->q_next = outgoing; - outgoing = tmp; + outgoing = tmp; /* If this line is up, don't try anybody else */ if (outgoing->chan && (ast_channel_state(outgoing->chan) == AST_STATE_UP)) break; @@ -5748,7 +5748,7 @@ static int try_calling(struct queue_ent *qe, struct ast_flags opts, char **opt_a pbx_builtin_setvar_multiple(qe->chan, interfacevar); pbx_builtin_setvar_multiple(peer, interfacevar); } - + /* if setqueueentryvar is defined, make queue entry (i.e. the caller) variables available to the channel */ /* use pbx_builtin_setvar to set a load of variables with one call */ if (qe->parent->setqueueentryvar) { @@ -5757,7 +5757,7 @@ static int try_calling(struct queue_ent *qe, struct ast_flags opts, char **opt_a pbx_builtin_setvar_multiple(qe->chan, interfacevar); pbx_builtin_setvar_multiple(peer, interfacevar); } - + ao2_unlock(qe->parent); /* try to set queue variables if configured to do so*/ @@ -5798,7 +5798,7 @@ static int try_calling(struct queue_ent *qe, struct ast_flags opts, char **opt_a } } else { mixmonapp = pbx_findapp("MixMonitor"); - + if (mixmonapp) { ast_debug(1, "Starting MixMonitor as requested.\n"); if (!monitorfilename) { @@ -5865,7 +5865,7 @@ static int try_calling(struct queue_ent *qe, struct ast_flags opts, char **opt_a pbx_substitute_variables_helper(qe->chan, meid2, meid, sizeof(meid) - 1); } - + snprintf(tmpid2, sizeof(tmpid2), "%s.%s", tmpid, qe->parent->monfmt); if (!ast_strlen_zero(monitor_exec)) { @@ -5873,7 +5873,7 @@ static int try_calling(struct queue_ent *qe, struct ast_flags opts, char **opt_a } else { snprintf(mixmonargs, sizeof(mixmonargs), "%s,b%s", tmpid2, monitor_options); } - + ast_debug(1, "Arguments being passed to MixMonitor: %s\n", mixmonargs); /* BUGBUG * This needs to be done differently. We need to start a MixMonitor on @@ -5890,12 +5890,12 @@ static int try_calling(struct queue_ent *qe, struct ast_flags opts, char **opt_a } } /* Drop out of the queue at this point, to prepare for next caller */ - leave_queue(qe); + leave_queue(qe); if (!ast_strlen_zero(url) && ast_channel_supports_html(peer)) { ast_debug(1, "app_queue: sendurl=%s.\n", url); ast_channel_sendurl(peer, url); } - + /* run a macro for this connection if defined. The macro simply returns, no action is taken on the result */ /* use macro from dialplan if passed as a option, otherwise use the default queue macro */ if (!ast_strlen_zero(macro)) { @@ -6026,7 +6026,7 @@ static int try_calling(struct queue_ent *qe, struct ast_flags opts, char **opt_a (long) (callstart - qe->start), (long) (time(NULL) - callstart), qe->opos); send_agent_complete(qe, queuename, peer, member, callstart, vars, sizeof(vars), AGENT); } - if ((tds = ast_channel_datastore_find(qe->chan, &queue_transfer_info, NULL))) { + if ((tds = ast_channel_datastore_find(qe->chan, &queue_transfer_info, NULL))) { ast_channel_datastore_remove(qe->chan, tds); } ast_channel_unlock(qe->chan); @@ -6139,7 +6139,7 @@ static void dump_queue_members(struct call_queue *pm_queue) ast_free(value); } -/*! \brief Remove member from queue +/*! \brief Remove member from queue * \retval RES_NOT_DYNAMIC when they aren't a RT member * \retval RES_NOSUCHQUEUE queue does not exist * \retval RES_OKAY removed member from queue @@ -6191,7 +6191,7 @@ static int remove_from_queue(const char *queuename, const char *interface) return res; } -/*! \brief Add member to queue +/*! \brief Add member to queue * \retval RES_NOT_DYNAMIC when they aren't a RT member * \retval RES_NOSUCHQUEUE queue does not exist * \retval RES_OKAY added member from queue @@ -6575,7 +6575,7 @@ static void reload_queue_members(void) ast_log(LOG_WARNING, "Error converting penalty: %s: Out of range.\n", penalty_tok); break; } - + if (!paused_tok) { ast_log(LOG_WARNING, "Error parsing persistent member string for '%s' (paused)\n", queue_name); break; @@ -6587,7 +6587,7 @@ static void reload_queue_members(void) } ast_debug(1, "Reload Members: Queue: %s Member: %s Name: %s Penalty: %d Paused: %d\n", queue_name, interface, membername, penalty, paused); - + if (add_to_queue(queue_name, interface, membername, penalty, paused, 0, state_interface) == RES_OUTOFMEMORY) { ast_log(LOG_ERROR, "Out of Memory when reloading persistent queue member\n"); break; @@ -6842,7 +6842,7 @@ static int ql_exec(struct ast_channel *chan, const char *data) return -1; } - ast_queue_log(args.queuename, args.uniqueid, args.membername, args.event, + ast_queue_log(args.queuename, args.uniqueid, args.membername, args.event, "%s", args.params ? args.params : ""); return 0; @@ -6880,14 +6880,14 @@ static void copy_rules(struct queue_ent *qe, const char *rulename) /*!\brief The starting point for all queue calls * - * The process involved here is to + * The process involved here is to * 1. Parse the options specified in the call to Queue() * 2. Join the queue * 3. Wait in a loop until it is our turn to try calling a queue member * 4. Attempt to call a queue member * 5. If 4. did not result in a bridged call, then check for between * call options such as periodic announcements etc. - * 6. Try 4 again unless some condition (such as an expiration time) causes us to + * 6. Try 4 again unless some condition (such as an expiration time) causes us to * exit the queue. */ static int queue_exec(struct ast_channel *chan, const char *data) @@ -7072,7 +7072,7 @@ check_turns: record_abandoned(&qe); reason = QUEUE_TIMEOUT; res = 0; - ast_queue_log(args.queuename, ast_channel_uniqueid(chan),"NONE", "EXITWITHTIMEOUT", "%d|%d|%ld", + ast_queue_log(args.queuename, ast_channel_uniqueid(chan),"NONE", "EXITWITHTIMEOUT", "%d|%d|%ld", qe.pos, qe.opos, (long) time(NULL) - qe.start); break; } @@ -7091,7 +7091,7 @@ check_turns: goto stop; } } - + /* Leave if we have exceeded our queuetimeout */ if (qe.expire && (time(NULL) >= qe.expire)) { record_abandoned(&qe); @@ -7133,7 +7133,7 @@ check_turns: break; } - + /* Leave if we have exceeded our queuetimeout */ if (qe.expire && (time(NULL) >= qe.expire)) { record_abandoned(&qe); @@ -7182,12 +7182,12 @@ stop: /* Don't allow return code > 0 */ if (res >= 0) { - res = 0; + res = 0; if (ringing) { ast_indicate(chan, -1); } else { ast_moh_stop(chan); - } + } ast_stopstream(chan); } @@ -7362,6 +7362,9 @@ static int queue_function_mem_read(struct ast_channel *chan, const char *cmd, ch ((m = interface_exists(q, args.interface)))) { count = m->ringinuse; ao2_ref(m, -1); + } else if (!ast_strlen_zero(args.interface)) { + ast_log(LOG_ERROR, "Queue member interface %s not in queue %s\n", + args.interface, args.queuename); } else { ast_log(LOG_ERROR, "Unknown option %s provided to %s, valid values are: " "logged, free, ready, count, penalty, paused, ringinuse\n", args.option, cmd); @@ -7476,7 +7479,7 @@ static int queue_function_qac_dep(struct ast_channel *chan, const char *cmd, cha ast_log(LOG_ERROR, "%s requires an argument: queuename\n", cmd); return -1; } - + if ((q = find_load_queue_rt_friendly(data))) { ao2_lock(q); mem_iter = ao2_iterator_init(q->members, 0); @@ -7610,7 +7613,7 @@ static int queue_function_memberpenalty_read(struct ast_channel *chan, const cha } penalty = get_member_penalty (args.queuename, args.interface); - + if (penalty >= 0) { /* remember that buf is already '\0' */ snprintf (buf, len, "%d", penalty); } @@ -7706,7 +7709,7 @@ static int reload_queue_rules(int reload) char *rulecat = NULL; struct ast_variable *rulevar = NULL; struct ast_flags config_flags = { reload ? CONFIG_FLAG_FILEUNCHANGED : 0 }; - + if (!(cfg = ast_config_load("queuerules.conf", config_flags))) { ast_log(LOG_NOTICE, "No queuerules.conf file found, queues will not follow penalty rules\n"); return AST_MODULE_LOAD_SUCCESS; @@ -7907,7 +7910,7 @@ static int kill_dead_members(void *obj, void *arg, int flags) * * Once we have isolated a queue within reload_queues, we call this. This will either * reload information for the queue or if we're just reloading member information, we'll just - * reload that without touching other settings within the queue + * reload that without touching other settings within the queue * * \param cfg The configuration which we are reading * \param mask Tells us what information we need to reload @@ -7943,7 +7946,7 @@ static void reload_single_queue(struct ast_config *cfg, struct ast_flags *mask, } else { new = 0; } - + if (!new) { ao2_lock(q); prev_weight = q->weight ? 1 : 0; @@ -8062,7 +8065,7 @@ static int kill_dead_queues(void *obj, void *arg, int flags) * \param mask Gives flags telling us what information to actually reload * \param queuename If set to a non-zero string, then only reload information from * that particular queue. Otherwise inspect all queues - * \retval -1 Failure occurred + * \retval -1 Failure occurred * \retval 0 All clear! */ static int reload_queues(int reload, struct ast_flags *mask, const char *queuename) @@ -8186,9 +8189,9 @@ static void do_print(struct mansession *s, int fd, const char *str) } } -/*! - * \brief Show queue(s) status and statistics - * +/*! + * \brief Show queue(s) status and statistics + * * List the queues strategy, calls processed, members logged in, * other queue statistics such as avg hold time. */ @@ -8339,7 +8342,7 @@ static char *__queues_show(struct mansession *s, int fd, int argc, const char * return CLI_SUCCESS; } -/*! +/*! * \brief Check if a given word is in a space-delimited list * * \param list Space delimited list of words @@ -8396,11 +8399,11 @@ static int word_in_list(const char *list, const char *word) { /* terminating conditions satisfied, word at beginning or separated by ' ' */ return 1; } - + return 0; } -/*! +/*! * \brief Check if a given word is in a space-delimited list * * \param line The line as typed not including the current word being completed @@ -8466,7 +8469,7 @@ static char *queue_show(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a " Provides summary information on a specified queue.\n"; return NULL; case CLI_GENERATE: - return complete_queue_show(a->line, a->word, a->pos, a->n); + return complete_queue_show(a->line, a->word, a->pos, a->n); } return __queues_show(NULL, a->fd, a->argc, a->argv); @@ -8576,7 +8579,7 @@ static int manager_queues_summary(struct mansession *s, const struct message *m) "Queue: %s\r\n" "LoggedIn: %d\r\n" "Available: %d\r\n" - "Callers: %d\r\n" + "Callers: %d\r\n" "HoldTime: %d\r\n" "TalkTime: %d\r\n" "LongestHoldTime: %d\r\n" @@ -8886,7 +8889,7 @@ static int manager_queue_reset(struct mansession *s, const struct message *m) { const char *queuename = NULL; struct ast_flags mask = {QUEUE_RESET_STATS,}; - + queuename = astman_get_header(m, "Queue"); if (!reload_handler(1, &mask, queuename)) { @@ -8976,7 +8979,7 @@ static int manager_queue_member_penalty(struct mansession *s, const struct messa astman_send_error(s, m, "Need 'Interface' and 'Penalty' parameters."); return 0; } - + penalty = atoi(penalty_s); if (set_member_value((char *)queuename, (char *)interface, MEMBER_PENALTY, penalty)) { @@ -9198,7 +9201,7 @@ static char *handle_queue_pause_member(struct ast_cli_entry *e, int cmd, struct switch (cmd) { case CLI_INIT: e->command = "queue {pause|unpause} member"; - e->usage = + e->usage = "Usage: queue {pause|unpause} member [queue [reason ]]\n" " Pause or unpause a queue member. Not specifying a particular queue\n" " will pause or unpause a member across all queues to which the member\n" @@ -9333,7 +9336,7 @@ static char *handle_queue_set_member_penalty(struct ast_cli_entry *e, int cmd, s switch (cmd) { case CLI_INIT: e->command = "queue set penalty"; - e->usage = + e->usage = "Usage: queue set penalty on [in ]\n" " Set a member's penalty in the queue specified. If no queue is specified\n" " then that interface's penalty is set in all queues to which that interface is a member\n"; @@ -9366,7 +9369,7 @@ static char *handle_queue_set_member_penalty(struct ast_cli_entry *e, int cmd, s } } -static char *complete_queue_rule_show(const char *line, const char *word, int pos, int state) +static char *complete_queue_rule_show(const char *line, const char *word, int pos, int state) { int which = 0; struct rule_list *rl_iter; @@ -9420,7 +9423,7 @@ static char *handle_queue_rule_show(struct ast_cli_entry *e, int cmd, struct ast } } AST_LIST_UNLOCK(&rule_lists); - return CLI_SUCCESS; + return CLI_SUCCESS; } static char *handle_queue_reset(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) @@ -9526,7 +9529,7 @@ static char *handle_queue_reload(struct ast_cli_entry *e, int cmd, struct ast_cl return CLI_SUCCESS; } -static const char qpm_cmd_usage[] = +static const char qpm_cmd_usage[] = "Usage: queue pause member in reason \n"; static const char qum_cmd_usage[] =