diff options
author | Vadim Yanitskiy <vyanitskiy@sysmocom.de> | 2021-05-27 18:21:21 +0200 |
---|---|---|
committer | laforge <laforge@osmocom.org> | 2021-06-04 20:04:13 +0000 |
commit | bcdbb6c55665afb99fa4d69ea9a4751d4187adbf (patch) | |
tree | e02e9311b6591f10440db9f94a76cb6c6f54e16c | |
parent | 5d888e5064fd75f16183cabc71ff4e38b205614a (diff) |
[VAMOS] gsm_data: rework and rename gsm_lchan_name_compute()
-rw-r--r-- | include/osmo-bts/gsm_data.h | 2 | ||||
-rw-r--r-- | src/common/bts_trx.c | 4 | ||||
-rw-r--r-- | src/common/gsm_data.c | 17 |
3 files changed, 12 insertions, 11 deletions
diff --git a/include/osmo-bts/gsm_data.h b/include/osmo-bts/gsm_data.h index cd63f6fb..93eb2f06 100644 --- a/include/osmo-bts/gsm_data.h +++ b/include/osmo-bts/gsm_data.h @@ -512,7 +512,7 @@ enum gsm_phys_chan_config gsm_pchan_parse(const char *name); const char *gsm_lchant_name(enum gsm_chan_t c); char *gsm_ts_name(const struct gsm_bts_trx_ts *ts); char *gsm_ts_and_pchan_name(const struct gsm_bts_trx_ts *ts); -char *gsm_lchan_name_compute(const struct gsm_lchan *lchan); +void gsm_lchan_name_update(struct gsm_lchan *lchan); const char *gsm_lchans_name(enum gsm_lchan_state s); static inline char *gsm_lchan_name(const struct gsm_lchan *lchan) diff --git a/src/common/bts_trx.c b/src/common/bts_trx.c index ee03b9ab..3d295e58 100644 --- a/src/common/bts_trx.c +++ b/src/common/bts_trx.c @@ -96,15 +96,13 @@ struct gsm_bts_trx *gsm_bts_trx_alloc(struct gsm_bts *bts) for (l = 0; l < TS_MAX_LCHAN; l++) { struct gsm_lchan *lchan; - char *name; lchan = &ts->lchan[l]; lchan->ts = ts; lchan->nr = l; lchan->type = GSM_LCHAN_NONE; + gsm_lchan_name_update(lchan); - name = gsm_lchan_name_compute(lchan); - lchan->name = talloc_strdup(trx, name); INIT_LLIST_HEAD(&lchan->sapi_cmds); INIT_LLIST_HEAD(&lchan->dl_tch_queue); } diff --git a/src/common/gsm_data.c b/src/common/gsm_data.c index 6b57851a..63287837 100644 --- a/src/common/gsm_data.c +++ b/src/common/gsm_data.c @@ -165,14 +165,17 @@ char *gsm_ts_and_pchan_name(const struct gsm_bts_trx_ts *ts) return ts2str; } -char *gsm_lchan_name_compute(const struct gsm_lchan *lchan) +void gsm_lchan_name_update(struct gsm_lchan *lchan) { - struct gsm_bts_trx_ts *ts = lchan->ts; - - snprintf(ts2str, sizeof(ts2str), "(bts=%d,trx=%d,ts=%d,ss=%d)", - ts->trx->bts->nr, ts->trx->nr, ts->nr, lchan->nr); - - return ts2str; + const struct gsm_bts_trx_ts *ts = lchan->ts; + const struct gsm_bts_trx *trx = ts->trx; + char *name; + + name = talloc_asprintf(trx, "(bts=%u,trx=%u,ts=%u,ss=%u)", + trx->bts->nr, trx->nr, ts->nr, lchan->nr); + if (lchan->name != NULL) + talloc_free(lchan->name); + lchan->name = name; } /* See Table 10.5.25 of GSM04.08 */ |