pespin has uploaded this change for review.

View Change

Avoid accessing struct log_target members directly

Use newly available APIs instead.

Depends: libosmocore.git Change-Id Ie48e7e635feb91509b9c034394df4fb16cb931a3

Change-Id: I81020f368c7e0e7b8dcd92917301bf3844157705
---
M src/libvlr/vlr.c
M src/osmo-msc/msc_main.c
2 files changed, 14 insertions(+), 12 deletions(-)

git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/80/41880/1
diff --git a/src/libvlr/vlr.c b/src/libvlr/vlr.c
index 919def3..26ab35b 100644
--- a/src/libvlr/vlr.c
+++ b/src/libvlr/vlr.c
@@ -1733,21 +1733,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];
diff --git a/src/osmo-msc/msc_main.c b/src/osmo-msc/msc_main.c
index 3c09742..ae4745b 100644
--- a/src/osmo-msc/msc_main.c
+++ b/src/osmo-msc/msc_main.c
@@ -540,10 +540,10 @@

static int filter_fn(const struct log_context *ctx, struct log_target *tar)
{
- const struct vlr_subscr *vsub = ctx->ctx[LOG_CTX_VLR_SUBSCR];
+ const struct vlr_subscr *vsub = log_get_context(ctx, LOG_CTX_VLR_SUBSCR);

- if ((tar->filter_map & (1 << LOG_FLT_VLR_SUBSCR)) != 0
- && vsub && vsub == tar->filter_data[LOG_FLT_VLR_SUBSCR])
+ if (log_get_filter(tar, LOG_FLT_VLR_SUBSCR) &&
+ vsub && vsub == log_get_filter_data(tar, LOG_FLT_VLR_SUBSCR))
return 1;

return 0;

To view, visit change 41880. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: newchange
Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: I81020f368c7e0e7b8dcd92917301bf3844157705
Gerrit-Change-Number: 41880
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin@sysmocom.de>