aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/libmsc/db.c
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2012-11-23 23:35:01 +0100
committerHarald Welte <laforge@gnumonks.org>2012-11-24 11:09:21 +0100
commitc0de14da8f868de3a68b485ec382d8aa7dabbec9 (patch)
tree396eba9b382b7b3c88f3c1b3b6c52e472bfe647e /openbsc/src/libmsc/db.c
parente07b6a77e51f19b45d3ca0a7b3b4014ffeb40859 (diff)
SMPP: add small utility program 'smpp_mirror'
This program binds as ESME transceiver to a SMSC and simply mirrors back all SMS that it receives.
Diffstat (limited to 'openbsc/src/libmsc/db.c')
-rw-r--r--openbsc/src/libmsc/db.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/openbsc/src/libmsc/db.c b/openbsc/src/libmsc/db.c
index 790cde37f..9a5f18db7 100644
--- a/openbsc/src/libmsc/db.c
+++ b/openbsc/src/libmsc/db.c
@@ -993,7 +993,7 @@ int db_sms_store(struct gsm_sms *sms)
/* FIXME: generate validity timestamp based on validity_minutes */
dbi_conn_quote_string_copy(conn, (char *)sms->text, &q_text);
- dbi_conn_quote_string_copy(conn, (char *)sms->dest_addr, &q_daddr);
+ dbi_conn_quote_string_copy(conn, (char *)sms->dst.addr, &q_daddr);
dbi_conn_quote_binary_copy(conn, sms->user_data, sms->user_data_len,
&q_udata);
/* FIXME: correct validity period */
@@ -1035,6 +1035,7 @@ static struct gsm_sms *sms_from_result(struct gsm_network *net, dbi_result resul
sender_id = dbi_result_get_ulonglong(result, "sender_id");
sms->sender = subscr_get_by_id(net, sender_id);
+ strncpy(sms->src.addr, sms->sender->extension, sizeof(sms->src.addr)-1);
receiver_id = dbi_result_get_ulonglong(result, "receiver_id");
sms->receiver = subscr_get_by_id(net, receiver_id);
@@ -1051,8 +1052,8 @@ static struct gsm_sms *sms_from_result(struct gsm_network *net, dbi_result resul
daddr = dbi_result_get_string(result, "dest_addr");
if (daddr) {
- strncpy(sms->dest_addr, daddr, sizeof(sms->dest_addr));
- sms->dest_addr[sizeof(sms->dest_addr)-1] = '\0';
+ strncpy(sms->dst.addr, daddr, sizeof(sms->dst.addr));
+ sms->dst.addr[sizeof(sms->dst.addr)-1] = '\0';
}
sms->user_data_len = dbi_result_get_field_length(result, "user_data");