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);
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",
*
* \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.
*/
/* 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;