diff options
author | Denis Kenzior <denkenz@gmail.com> | 2009-12-14 10:13:42 -0600 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2009-12-14 10:14:29 -0600 |
commit | 7a5de89f32e8041cab1de9a729ffb4ff8596b87a (patch) | |
tree | 7addff6c02d4c0d466fbdccac198eb85e1b98a4a /src/sms.c | |
parent | 0bb703f0aedec63e0425f81e05510b21c9b52299 (diff) | |
download | ofono-7a5de89f32e8041cab1de9a729ffb4ff8596b87a.tar.bz2 |
Fix: Concatenation of datagram SMS messages
The 16 bit port address was not being computed correctly.
Diffstat (limited to 'src/sms.c')
-rw-r--r-- | src/sms.c | 12 |
1 files changed, 8 insertions, 4 deletions
@@ -601,10 +601,14 @@ static void sms_dispatch(struct ofono_sms *sms, GSList *sms_list) return; } - if (sms_extract_app_port(s, &cdst, &csrc, &is_8bit) && - (l == sms_list)) { - srcport = is_8bit ? csrc : (csrc << 8); - dstport = is_8bit ? cdst : (cdst << 8); + if (sms_extract_app_port(s, &cdst, &csrc, &is_8bit)) { + csrc = is_8bit ? csrc : (csrc << 8); + cdst = is_8bit ? cdst : (cdst << 8); + + if (l == sms_list) { + srcport = csrc; + dstport = cdst; + } } if (srcport != csrc || dstport != cdst) { |