pespin has uploaded this change for review. (
https://gerrit.osmocom.org/c/osmo-bsc/+/41884?usp=email )
Change subject: Avoid accessing struct log_target members directly
......................................................................
Avoid accessing struct log_target members directly
Use newly available APIs instead.
Change-Id: I48a823c591748528e762b1cd8e0e8418c0d0be3b
Depends: libosmocore.git Change-Id Ie48e7e635feb91509b9c034394df4fb16cb931a3
---
M TODO-RELEASE
M src/osmo-bsc/bsc_subscriber.c
M src/osmo-bsc/osmo_bsc_main.c
3 files changed, 17 insertions(+), 14 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/84/41884/1
diff --git a/TODO-RELEASE b/TODO-RELEASE
index fa4fe07..df1b8b1 100644
--- a/TODO-RELEASE
+++ b/TODO-RELEASE
@@ -9,3 +9,4 @@
#library what description / commit summary line
libosmo-mgcp-client >1.15.0 new API of fmtp in struct ptmap
libosmogsm >1.12.0 OSMO_AOIP_RTP_PT_TWTS007 in gsm_48_103.h
+libosmocore >1.12.0 log_get_context(), log_{get,set}_filter(_data)()
diff --git a/src/osmo-bsc/bsc_subscriber.c b/src/osmo-bsc/bsc_subscriber.c
index 1f69d44..556965f 100644
--- a/src/osmo-bsc/bsc_subscriber.c
+++ b/src/osmo-bsc/bsc_subscriber.c
@@ -345,20 +345,22 @@
void log_set_filter_bsc_subscr(struct log_target *target,
struct bsc_subscr *bsc_subscr)
{
- struct bsc_subscr **fsub =
(void*)&target->filter_data[LOG_FLT_BSC_SUBSCR];
+ struct bsc_subscr *fsub = log_get_filter_data(target,
LOG_FLT_BSC_SUBSCR);
/* free the old data */
- if (*fsub) {
- bsc_subscr_put(*fsub, BSUB_USE_LOG_FILTER);
- *fsub = NULL;
+ if (fsub) {
+ log_set_filter_data(target, LOG_FLT_BSC_SUBSCR, NULL);
+ bsc_subscr_put(fsub, BSUB_USE_LOG_FILTER);
}
if (bsc_subscr) {
- target->filter_map |= (1 << LOG_FLT_BSC_SUBSCR);
- *fsub = bsc_subscr;
- bsc_subscr_get(*fsub, BSUB_USE_LOG_FILTER);
- } else
- target->filter_map &= ~(1 << LOG_FLT_BSC_SUBSCR);
+ bsc_subscr_get(bsc_subscr, BSUB_USE_LOG_FILTER);
+ log_set_filter_data(target, LOG_FLT_BSC_SUBSCR, bsc_subscr);
+ log_set_filter(target, LOG_FLT_BSC_SUBSCR, true);
+ } else {
+ log_set_filter_data(target, LOG_FLT_BSC_SUBSCR, NULL);
+ log_set_filter(target, LOG_FLT_BSC_SUBSCR, false);
+ }
}
void bsc_subscr_add_active_paging_request(struct bsc_subscr *bsub, struct
gsm_paging_request *req)
diff --git a/src/osmo-bsc/osmo_bsc_main.c b/src/osmo-bsc/osmo_bsc_main.c
index 77506c8..f4a4c4c 100644
--- a/src/osmo-bsc/osmo_bsc_main.c
+++ b/src/osmo-bsc/osmo_bsc_main.c
@@ -831,12 +831,12 @@
static int filter_fn(const struct log_context *ctx, struct log_target *tar)
{
- const struct bsc_subscr *bsub_ctx = ctx->ctx[LOG_CTX_BSC_SUBSCR];
- const struct bsc_subscr *bsub_filter =
tar->filter_data[LOG_FLT_BSC_SUBSCR];
+ const struct bsc_subscr *bsub_ctx = log_get_context(ctx,
LOG_CTX_BSC_SUBSCR);
+ const struct bsc_subscr *bsub_filter = log_get_filter_data(tar,
LOG_FLT_BSC_SUBSCR);
- if ((tar->filter_map & (1 << LOG_FLT_BSC_SUBSCR)) != 0
- && bsub_ctx && bsub_filter
- && strncmp(bsub_ctx->imsi, bsub_filter->imsi,
sizeof(bsub_ctx->imsi)) == 0)
+ if (log_get_filter(tar, LOG_FLT_BSC_SUBSCR) &&
+ bsub_ctx && bsub_filter &&
+ strncmp(bsub_ctx->imsi, bsub_filter->imsi, sizeof(bsub_ctx->imsi))
== 0)
return 1;
return 0;
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/41884?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I48a823c591748528e762b1cd8e0e8418c0d0be3b
Gerrit-Change-Number: 41884
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <[email protected]>