aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/gsm_04_11.c
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2009-07-28 00:44:49 +0200
committerHarald Welte <laforge@gnumonks.org>2009-07-28 00:44:49 +0200
commit3366a94d6c3cd28c71bf76133a3ead3212fd04f1 (patch)
tree6423887a7c52271cce815c8864b51791a4e32410 /openbsc/src/gsm_04_11.c
parentf3efc597d162e6e5f80e926c992dafe4e9f7dfc6 (diff)
parent7bfc26749662e3a3227037cce4a24748343b50be (diff)
Merge branch 'master' into sms
Conflicts: openbsc/include/openbsc/transaction.h openbsc/src/gsm_04_11.c openbsc/src/transaction.c
Diffstat (limited to 'openbsc/src/gsm_04_11.c')
-rw-r--r--openbsc/src/gsm_04_11.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/openbsc/src/gsm_04_11.c b/openbsc/src/gsm_04_11.c
index 1260eee1c..5ce25f3dc 100644
--- a/openbsc/src/gsm_04_11.c
+++ b/openbsc/src/gsm_04_11.c
@@ -286,19 +286,11 @@ static int gsm340_rx_tpdu(struct msgb *msg)
u_int8_t address_lv[12]; /* according to 03.40 / 9.1.2.5 */
int rc = 0;
- if (!tall_sms_ctx)
- tall_sms_ctx = talloc_named_const(tall_bsc_ctx, 1,
- "sms_submit");
-
sms = talloc(tall_sms_ctx, struct sms_submit);
if (!sms)
return GSM411_RP_CAUSE_MO_NET_OUT_OF_ORDER;
memset(sms, 0, sizeof(*sms));
- if (!tall_gsms_ctx)
- tall_gsms_ctx = talloc_named_const(tall_bsc_ctx, 1,
- "sms");
-
gsms = talloc(tall_gsms_ctx, struct gsm_sms);
if (!gsms) {
talloc_free(sms);
@@ -772,3 +764,9 @@ int gsm0411_send_sms(struct gsm_lchan *lchan, struct sms_deliver *sms)
smsd->ud = FIXME;
}
#endif
+
+static __attribute__((constructor)) void on_dso_load_sms(void)
+{
+ tall_sms_ctx = talloc_named_const(tall_bsc_ctx, 1, "sms_submit");
+ tall_gsms_ctx = talloc_named_const(tall_bsc_ctx, 1, "sms");
+}