mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-11 07:13:20 +00:00
res_parking: Cleanup find_channel_parking_lot_name() usage.
Change-Id: I8f7a8890aef27824301c642d4d15407ac83e6f02
This commit is contained in:
@@ -567,7 +567,7 @@ static int parked_call_app_exec(struct ast_channel *chan, const char *data)
|
|||||||
int target_space = -1;
|
int target_space = -1;
|
||||||
struct ast_bridge_features chan_features;
|
struct ast_bridge_features chan_features;
|
||||||
char *parse;
|
char *parse;
|
||||||
char *lot_name;
|
const char *lot_name;
|
||||||
|
|
||||||
AST_DECLARE_APP_ARGS(args,
|
AST_DECLARE_APP_ARGS(args,
|
||||||
AST_APP_ARG(lot_name);
|
AST_APP_ARG(lot_name);
|
||||||
|
@@ -474,19 +474,12 @@ static int parking_park_bridge_channel(struct ast_bridge_channel *bridge_channel
|
|||||||
static int parking_park_call(struct ast_bridge_channel *parker, char *exten, size_t length)
|
static int parking_park_call(struct ast_bridge_channel *parker, char *exten, size_t length)
|
||||||
{
|
{
|
||||||
RAII_VAR(struct parking_lot *, lot, NULL, ao2_cleanup);
|
RAII_VAR(struct parking_lot *, lot, NULL, ao2_cleanup);
|
||||||
const char *lot_name = NULL;
|
const char *lot_name;
|
||||||
|
|
||||||
ast_channel_lock(parker->chan);
|
ast_channel_lock(parker->chan);
|
||||||
lot_name = find_channel_parking_lot_name(parker->chan);
|
lot_name = ast_strdupa(find_channel_parking_lot_name(parker->chan));
|
||||||
if (!ast_strlen_zero(lot_name)) {
|
|
||||||
lot_name = ast_strdupa(lot_name);
|
|
||||||
}
|
|
||||||
ast_channel_unlock(parker->chan);
|
ast_channel_unlock(parker->chan);
|
||||||
|
|
||||||
if (ast_strlen_zero(lot_name)) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
lot = parking_lot_find_by_name(lot_name);
|
lot = parking_lot_find_by_name(lot_name);
|
||||||
if (!lot) {
|
if (!lot) {
|
||||||
ast_log(AST_LOG_WARNING, "Cannot Park %s: lot %s unknown\n",
|
ast_log(AST_LOG_WARNING, "Cannot Park %s: lot %s unknown\n",
|
||||||
|
@@ -308,8 +308,9 @@ struct parking_lot *parking_create_dynamic_lot_forced(const char *name, struct a
|
|||||||
*
|
*
|
||||||
* \param chan The channel we want the parking lot name for
|
* \param chan The channel we want the parking lot name for
|
||||||
*
|
*
|
||||||
* \retval name of the channel's assigned parking lot if it is defined by the channel in some way
|
* \return name of the parking lot to use for the channel.
|
||||||
* \retval name of the default parking lot if it is not
|
*
|
||||||
|
* \note Always returns a parking lot name.
|
||||||
*
|
*
|
||||||
* \note Channel needs to be locked while the returned string is in use.
|
* \note Channel needs to be locked while the returned string is in use.
|
||||||
*/
|
*/
|
||||||
|
@@ -568,14 +568,13 @@ const char *find_channel_parking_lot_name(struct ast_channel *chan)
|
|||||||
|
|
||||||
/* The channel variable overrides everything */
|
/* The channel variable overrides everything */
|
||||||
name = pbx_builtin_getvar_helper(chan, "PARKINGLOT");
|
name = pbx_builtin_getvar_helper(chan, "PARKINGLOT");
|
||||||
if (ast_strlen_zero(name) && !ast_strlen_zero(ast_channel_parkinglot(chan))) {
|
|
||||||
/* Use the channel's parking lot. */
|
|
||||||
name = ast_channel_parkinglot(chan);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* If the name couldn't be pulled from that either, use the default parking lot name. */
|
|
||||||
if (ast_strlen_zero(name)) {
|
if (ast_strlen_zero(name)) {
|
||||||
name = DEFAULT_PARKING_LOT;
|
/* Try the channel's parking lot. */
|
||||||
|
name = ast_channel_parkinglot(chan);
|
||||||
|
if (ast_strlen_zero(name)) {
|
||||||
|
/* Fall back to the default parking lot. */
|
||||||
|
name = DEFAULT_PARKING_LOT;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return name;
|
return name;
|
||||||
|
Reference in New Issue
Block a user