From c696cc28d8e61a50717e3c2e68a7cfe2d08c8a48 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sat, 5 Dec 2015 16:19:21 +0100 Subject: gsm_data_shared: compute/sprintf the lchan name only once We now store the pre-printed lchan name in lchan->name to avoid having to call sprintf every time there is a debug statement somewhere, particularly as most of those debug statements are going to be inactive most of the time. --- openbsc/include/openbsc/gsm_data_shared.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'openbsc/include') diff --git a/openbsc/include/openbsc/gsm_data_shared.h b/openbsc/include/openbsc/gsm_data_shared.h index 1b7382d5c..000207dd9 100644 --- a/openbsc/include/openbsc/gsm_data_shared.h +++ b/openbsc/include/openbsc/gsm_data_shared.h @@ -233,6 +233,8 @@ struct gsm_lchan { uint8_t rqd_ta; + char *name; + #ifdef ROLE_BSC struct osmo_timer_list T3101; struct osmo_timer_list T3109; @@ -759,9 +761,13 @@ const char *gsm_lchant_name(enum gsm_chan_t c); const char *gsm_chreq_name(enum gsm_chreq_reason_t c); char *gsm_trx_name(const struct gsm_bts_trx *trx); char *gsm_ts_name(const struct gsm_bts_trx_ts *ts); -char *gsm_lchan_name(const struct gsm_lchan *lchan); +char *gsm_lchan_name_compute(const 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) +{ + return lchan->name; +} void gsm_abis_mo_reset(struct gsm_abis_mo *mo); -- cgit v1.2.3