diff options
author | Harald Welte <laforge@gnumonks.org> | 2012-11-23 23:35:01 +0100 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2012-11-24 11:09:21 +0100 |
commit | c0de14da8f868de3a68b485ec382d8aa7dabbec9 (patch) | |
tree | 396eba9b382b7b3c88f3c1b3b6c52e472bfe647e /openbsc/src/libmsc/db.c | |
parent | e07b6a77e51f19b45d3ca0a7b3b4014ffeb40859 (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.c | 7 |
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"); |