From 05fc3a96d108d48214b47ea2212432498bea3a33 Mon Sep 17 00:00:00 2001 From: Richard Mudgett Date: Wed, 23 Mar 2016 14:24:49 -0500 Subject: res_parking: Cleanup find_channel_parking_lot_name() usage. Change-Id: I8f7a8890aef27824301c642d4d15407ac83e6f02 --- res/parking/parking_applications.c | 2 +- res/parking/parking_bridge_features.c | 11 ++--------- res/parking/res_parking.h | 5 +++-- res/res_parking.c | 13 ++++++------- 4 files changed, 12 insertions(+), 19 deletions(-) (limited to 'res') diff --git a/res/parking/parking_applications.c b/res/parking/parking_applications.c index d8cda6f50..95a87ef3e 100644 --- a/res/parking/parking_applications.c +++ b/res/parking/parking_applications.c @@ -567,7 +567,7 @@ static int parked_call_app_exec(struct ast_channel *chan, const char *data) int target_space = -1; struct ast_bridge_features chan_features; char *parse; - char *lot_name; + const char *lot_name; AST_DECLARE_APP_ARGS(args, AST_APP_ARG(lot_name); diff --git a/res/parking/parking_bridge_features.c b/res/parking/parking_bridge_features.c index a21be9068..becb74ef9 100644 --- a/res/parking/parking_bridge_features.c +++ b/res/parking/parking_bridge_features.c @@ -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) { RAII_VAR(struct parking_lot *, lot, NULL, ao2_cleanup); - const char *lot_name = NULL; + const char *lot_name; ast_channel_lock(parker->chan); - lot_name = find_channel_parking_lot_name(parker->chan); - if (!ast_strlen_zero(lot_name)) { - lot_name = ast_strdupa(lot_name); - } + lot_name = ast_strdupa(find_channel_parking_lot_name(parker->chan)); ast_channel_unlock(parker->chan); - if (ast_strlen_zero(lot_name)) { - return -1; - } - lot = parking_lot_find_by_name(lot_name); if (!lot) { ast_log(AST_LOG_WARNING, "Cannot Park %s: lot %s unknown\n", diff --git a/res/parking/res_parking.h b/res/parking/res_parking.h index 3d77e514c..b8be0419b 100644 --- a/res/parking/res_parking.h +++ b/res/parking/res_parking.h @@ -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 * - * \retval name of the channel's assigned parking lot if it is defined by the channel in some way - * \retval name of the default parking lot if it is not + * \return name of the parking lot to use for the channel. + * + * \note Always returns a parking lot name. * * \note Channel needs to be locked while the returned string is in use. */ diff --git a/res/res_parking.c b/res/res_parking.c index 3edbd4663..f062b4f97 100644 --- a/res/res_parking.c +++ b/res/res_parking.c @@ -568,14 +568,13 @@ const char *find_channel_parking_lot_name(struct ast_channel *chan) /* The channel variable overrides everything */ 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)) { - 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; -- cgit v1.2.3