summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2009-06-16 10:48:47 -0500
committerDenis Kenzior <denkenz@gmail.com>2009-06-16 16:38:50 -0500
commit5bcc74d8578e1c068303fbbde3c55dab58c5b714 (patch)
tree3d25e32ee52c872e962f94925871fdc36870ef47
parent79e39e40167b5bb4d4bddbaa958e44217773174b (diff)
downloadofono-5bcc74d8578e1c068303fbbde3c55dab58c5b714.tar.bz2
Fix SMS port addressing
-rw-r--r--src/sms.c7
1 files 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) {