---
src/sms.c | 17 +++++++++++------
1 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/src/sms.c b/src/sms.c
index 7298563..088119d 100644
--- a/src/sms.c
+++ b/src/sms.c
@@ -522,7 +522,7 @@ static gboolean tx_next(gpointer user_data)
}
static void set_ref_and_to(GSList *msg_list, guint16 ref, int offset,
- const char *to)
+ gboolean use_16bit, const char *to)
{
GSList *l;
struct sms *sms;
@@ -530,12 +530,17 @@ static void set_ref_and_to(GSList *msg_list, guint16 ref, int
offset,
for (l = msg_list; l; l = l->next) {
sms = l->data;
- if (offset != 0) {
+ sms_address_from_string(&sms->submit.daddr, to);
+
+ if (offset == 0)
+ continue;
+
+ if (use_16bit) {
sms->submit.ud[offset] = (ref & 0xf0) >> 8;
- sms->submit.ud[offset+1] = (ref & 0x0f);
+ sms->submit.ud[offset+1] = ref & 0x0f;
+ } else {
+ sms->submit.ud[offset] = ref & 0x0f;
}
-
- sms_address_from_string(&sms->submit.daddr, to);
}
}
@@ -621,7 +626,7 @@ static DBusMessage *sms_send_message(DBusConnection *conn, DBusMessage
*msg,
if (!msg_list)
return __ofono_error_invalid_format(msg);
- set_ref_and_to(msg_list, sms->ref, ref_offset, to);
+ set_ref_and_to(msg_list, sms->ref, ref_offset, TRUE, to);
DBG("ref: %d, offset: %d", sms->ref, ref_offset);
if (ref_offset != 0) {
--
1.7.0.4
Show replies by thread
Hi Aki,
On 09/03/2010 05:12 AM, Aki Niemi wrote:
---
src/sms.c | 17 +++++++++++------
1 files changed, 11 insertions(+), 6 deletions(-)
Patch has been applied, thanks.
Regards,
-Denis