mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-05 12:16:00 +00:00
res_stasis: Fix app_is_subscribed_bridge_id.
Instead of searching for bridge_id provided in an argument this function always searched for BRIDGE_ALL first. Rewrite this function to work like the similar functions for channel and endpoint functions. Change-Id: Ib5caca69e11727c5c8a7284a1d00621f40f1e60a
This commit is contained in:
@@ -1429,25 +1429,15 @@ int app_unsubscribe_bridge_id(struct stasis_app *app, const char *bridge_id)
|
|||||||
int app_is_subscribed_bridge_id(struct stasis_app *app, const char *bridge_id)
|
int app_is_subscribed_bridge_id(struct stasis_app *app, const char *bridge_id)
|
||||||
{
|
{
|
||||||
struct app_forwards *forwards;
|
struct app_forwards *forwards;
|
||||||
SCOPED_AO2LOCK(lock, app->forwards);
|
|
||||||
|
|
||||||
forwards = ao2_find(app->forwards, BRIDGE_ALL, OBJ_SEARCH_KEY | OBJ_NOLOCK);
|
|
||||||
if (forwards) {
|
|
||||||
ao2_ref(forwards, -1);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ast_strlen_zero(bridge_id)) {
|
if (ast_strlen_zero(bridge_id)) {
|
||||||
bridge_id = BRIDGE_ALL;
|
bridge_id = BRIDGE_ALL;
|
||||||
}
|
}
|
||||||
|
|
||||||
forwards = ao2_find(app->forwards, bridge_id, OBJ_SEARCH_KEY | OBJ_NOLOCK);
|
forwards = ao2_find(app->forwards, bridge_id, OBJ_SEARCH_KEY);
|
||||||
if (forwards) {
|
ao2_cleanup(forwards);
|
||||||
ao2_ref(forwards, -1);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
return forwards != NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void *bridge_find(const struct stasis_app *app, const char *id)
|
static void *bridge_find(const struct stasis_app *app, const char *id)
|
||||||
|
Reference in New Issue
Block a user