From 7a5de89f32e8041cab1de9a729ffb4ff8596b87a Mon Sep 17 00:00:00 2001 From: Denis Kenzior Date: Mon, 14 Dec 2009 10:13:42 -0600 Subject: Fix: Concatenation of datagram SMS messages The 16 bit port address was not being computed correctly. --- src/sms.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/sms.c b/src/sms.c index 8b27b9cb..991e257c 100644 --- a/src/sms.c +++ b/src/sms.c @@ -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) { -- cgit v1.2.3