diff options
author | Denis Kenzior <denkenz@gmail.com> | 2009-06-16 10:48:47 -0500 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2009-06-16 16:38:50 -0500 |
commit | 5bcc74d8578e1c068303fbbde3c55dab58c5b714 (patch) | |
tree | 3d25e32ee52c872e962f94925871fdc36870ef47 | |
parent | 79e39e40167b5bb4d4bddbaa958e44217773174b (diff) | |
download | ofono-5bcc74d8578e1c068303fbbde3c55dab58c5b714.tar.bz2 |
Fix SMS port addressing
-rw-r--r-- | src/sms.c | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -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) { |