pespin submitted this change.

View Change

Approvals: fixeria: Looks good to me, but someone else must approve Jenkins Builder: Verified osmith: Looks good to me, approved
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(-)

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 change 41884. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: merged
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I48a823c591748528e762b1cd8e0e8418c0d0be3b
Gerrit-Change-Number: 41884
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin@sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy@sysmocom.de>
Gerrit-Reviewer: osmith <osmith@sysmocom.de>
Gerrit-Reviewer: pespin <pespin@sysmocom.de>