MT#55283 simplify macro

Change-Id: I6c603930562944040b237612fb21b9a888f63183
pull/2056/head
Richard Fuchs 2 months ago
parent b9c24cbf99
commit 6a7cba0aa2

@ -4086,7 +4086,6 @@ bool __unsubscribe_media(struct call_media *which, struct call_media *from)
*/
__attribute__((nonnull(1, 2)))
static void __unsubscribe_all_offer_answer_medias(struct call_media *cm, medias_q *medias) {
IQUEUE_FOREACH_SAFE_DECL(&cm->media_subscribers, ms);
IQUEUE_FOREACH_SAFE(&cm->media_subscribers, ms) {
if (!ms->attrs.offer_answer)
continue;
@ -4106,7 +4105,6 @@ static void __unsubscribe_medias_from_all(struct call_monologue *ml) {
if (!media)
continue;
IQUEUE_FOREACH_SAFE_DECL(&media->media_subscriptions, subscription);
IQUEUE_FOREACH_SAFE(&media->media_subscriptions, subscription)
__unsubscribe_media_link(media, subscription);
}
@ -4573,7 +4571,6 @@ int monologue_unsubscribe(struct call_monologue *dst_ml, sdp_ng_flags *flags) {
__media_unconfirm(media, "media unsubscribe");
/* TODO: should we care about subscribers as well? */
IQUEUE_FOREACH_SAFE_DECL(&media->media_subscriptions, ms);
IQUEUE_FOREACH_SAFE(&media->media_subscriptions, ms) {
struct call_media *src_media = ms->media;
@ -4752,7 +4749,6 @@ int monologue_inject_stop(struct call_monologue *src_ml, struct call_monologue *
if (!dst_media || dst_media->type_id != MT_AUDIO)
continue;
IQUEUE_FOREACH_SAFE_DECL(&dst_media->media_subscriptions, ms);
IQUEUE_FOREACH_SAFE(&dst_media->media_subscriptions, ms) {
struct call_media *src_media = ms->media;
if (!src_media)

@ -112,20 +112,15 @@
var; var = ((__typeof((list)->offset)) var)->link.next)
#define IQUEUE_FOREACH_SAFE_DECL(list, var) \
__typeof__ ( ({ __typeof__ (*(list)->head) __t; &__t; }) ) var, __next ## var \
#define IQUEUE_FOREACH_SAFE(list, var) \
for (var = (list)->head, \
__next ## var = var ? ((__typeof((list)->offset)) var)->link.next : NULL; \
var; \
var = __next ## var, \
__next ## var = var ? ((__typeof((list)->offset)) var)->link.next : NULL)
for (__typeof__ ( ({ __typeof__ (*(list)->head) __t; &__t; }) ) var = (list)->head, \
__next ## var = var ? ((__typeof((list)->offset)) var)->link.next : NULL; \
var; \
var = __next ## var, \
__next ## var = var ? ((__typeof((list)->offset)) var)->link.next : NULL)
#define i_queue_clear_full(list, fn) do { \
IQUEUE_FOREACH_SAFE_DECL(list, __ele); \
IQUEUE_FOREACH_SAFE(list, __ele) \
(fn)(__ele); \
i_queue_init(list); \

Loading…
Cancel
Save