From 1e65172b528f84d4b6e65cd82eb09bb312d63626 Mon Sep 17 00:00:00 2001 From: Donat Zenichev Date: Fri, 29 Mar 2024 11:47:54 +0100 Subject: [PATCH] MT#58535 rtpp_flags: parse key/val flags directly Instead of adding key/val flags to the dictionary for further parsing later via iteration in `call_ng_main_flags()`, just call the `call_ng_main_flags()` directly. Change-Id: Ia893a6b50db7a0659a42c09463169f2c0f5e595e --- daemon/call_interfaces.c | 2 +- daemon/control_ng_flags_parser.c | 3 ++- include/call_interfaces.h | 2 ++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/daemon/call_interfaces.c b/daemon/call_interfaces.c index 7bca799e3..6ad82d46c 100644 --- a/daemon/call_interfaces.c +++ b/daemon/call_interfaces.c @@ -1393,7 +1393,7 @@ static void call_ng_flags_freqs(sdp_ng_flags *out, bencode_item_t *value) { } } -static void call_ng_main_flags(sdp_ng_flags *out, str *key, bencode_item_t *value, +void call_ng_main_flags(sdp_ng_flags *out, str *key, bencode_item_t *value, enum call_opmode opmode) { str s = STR_NULL; diff --git a/daemon/control_ng_flags_parser.c b/daemon/control_ng_flags_parser.c index ef3e4e99f..31e666a41 100644 --- a/daemon/control_ng_flags_parser.c +++ b/daemon/control_ng_flags_parser.c @@ -460,7 +460,8 @@ generic: call_ng_flags_flags(out, &key, NULL); /* generic flags with value, but no particular processing */ else - bencode_dictionary_str_add_str(root_dict, &key, &val); + call_ng_main_flags(out, &key, bencode_str(buf, &val), opmode); + next: start = eptr; } diff --git a/include/call_interfaces.h b/include/call_interfaces.h index 3e4152f1d..a68a9b04b 100644 --- a/include/call_interfaces.h +++ b/include/call_interfaces.h @@ -287,6 +287,8 @@ void call_interfaces_free(void); void call_interfaces_timer(void); void call_ng_flags_flags(sdp_ng_flags *out, str *s, helper_arg dummy); +void call_ng_main_flags(sdp_ng_flags *out, str *key, bencode_item_t *value, + enum call_opmode opmode); INLINE struct sdp_manipulations *sdp_manipulations_get_by_id(const sdp_ng_flags *f, enum media_type id) { if (id < 0 || id >= G_N_ELEMENTS(f->sdp_manipulations))