From 5bcc74d8578e1c068303fbbde3c55dab58c5b714 Mon Sep 17 00:00:00 2001 From: Denis Kenzior Date: Tue, 16 Jun 2009 10:48:47 -0500 Subject: [PATCH] Fix SMS port addressing --- src/sms.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/sms.c b/src/sms.c index 5e95bd00..717b4f2f 100644 --- a/src/sms.c +++ b/src/sms.c @@ -370,6 +370,7 @@ static void sms_dispatch(struct ofono_modem *modem, GSList *sms_list) enum sms_charset charset; int cdst = -1; int csrc = -1; + gboolean is_8bit; sms = l->data; dcs = sms->deliver.dcs; @@ -394,10 +395,10 @@ static void sms_dispatch(struct ofono_modem *modem, GSList *sms_list) return; } - if (sms_extract_app_port(sms, &cdst, &csrc) && + if (sms_extract_app_port(sms, &cdst, &csrc, &is_8bit) && (l == sms_list)) { - srcport = csrc; - dstport = cdst; + srcport = is_8bit ? csrc : (csrc << 8); + dstport = is_8bit ? cdst : (cdst << 8); } if (srcport != csrc || dstport != cdst) {