lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/43462?usp=email )
Change subject: Avoid accessing struct log_target members directly ......................................................................
Avoid accessing struct log_target members directly
Use newly available APIs instead.
Depends: libosmocore.git Change-Id Ie48e7e635feb91509b9c034394df4fb16cb931a3 Change-Id: I4f42916080a2f4073bcc9bba9cce5870a23312b5 --- M TODO-RELEASE M src/libvlr/vlr.c 2 files changed, 13 insertions(+), 9 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/62/43462/1
diff --git a/TODO-RELEASE b/TODO-RELEASE index fa97ecb..6487a10 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -12,4 +12,6 @@ libosmocore >1.10.0 enum gsm48_gprs_ie_mm: GSM48_IE_GMM_UE_NET_CAP, GSM48_IE_GMM_VD_PREF_UE_USAGE libosmo-gsup-client >1.8.0 osmo_gsup_client_is_connected(), osmo_gsup_client_get_rem_addr(), osmo_gsup_client_get_rem_port() osmo-iuh >1.7.0 ranap multiple params are constified, see osmo-iuh Change-Id I667dc2ef377c1ceb5b11315458f00b282c143c81 +osmo-iuh >1.7.0 ranap_new_msg_error_ind() osmo-iuh >1.8.1 ranap_new_msg_rab_assign_data2() / ranap_new_msg_rab_assign_voice2() +libosmocore >1.12.0 log_get_context(), log_{get,set}_filter(_data)() diff --git a/src/libvlr/vlr.c b/src/libvlr/vlr.c index ebc978f..7c2fa5b 100644 --- a/src/libvlr/vlr.c +++ b/src/libvlr/vlr.c @@ -1723,21 +1723,23 @@ void log_set_filter_vlr_subscr(struct log_target *target, struct vlr_subscr *vlr_subscr) { - struct vlr_subscr **fsub = (void*)&target->filter_data[LOG_FLT_VLR_SUBSCR]; - const char *use = "logfilter"; + struct vlr_subscr *fsub = log_get_filter_data(target, LOG_FLT_VLR_SUBSCR); + static const char *use = "logfilter";
/* free the old data */ - if (*fsub) { - vlr_subscr_put(*fsub, use); - *fsub = NULL; + if (fsub) { + log_set_filter_data(target, LOG_FLT_VLR_SUBSCR, NULL); + vlr_subscr_put(fsub, use); }
if (vlr_subscr) { - target->filter_map |= (1 << LOG_FLT_VLR_SUBSCR); vlr_subscr_get(vlr_subscr, use); - *fsub = vlr_subscr; - } else - target->filter_map &= ~(1 << LOG_FLT_VLR_SUBSCR); + log_set_filter_data(target, LOG_FLT_VLR_SUBSCR, vlr_subscr); + log_set_filter(target, LOG_FLT_VLR_SUBSCR, true); + } else { + log_set_filter_data(target, LOG_FLT_VLR_SUBSCR, NULL); + log_set_filter(target, LOG_FLT_VLR_SUBSCR, false); + } }
int g_vlr_log_cat[_OSMO_VLR_LOGC_MAX];