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]>

Reply via email to