Alexander Malysh wrote:
Hi,
seems sms_split function was always buggy and never worked correctly?
I found two issues:
1) max_part_len calculation was wrong.
It was:
max_len * 8 / 7 - udh_len
But because udh nerer packed this is just wrong end should be:
(max_len - udh_len) * 8 / 7
2) we dropped last utf-8 multibyte sequence. (Thanks to Stipe for report!).
To reproduce just sent following message via smsbox:
text=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa%c3%9f
To fix the bug we must first convert msgdata to UTF-8 then
gsm_truncate and then convert it again to UTF-8. The length of UTF-8
string is our allowed max_part_length.
Please find attached patch that should fix those issues.
Please test and vote!
thanks a lot Alex... I'll review thoughout the day tomorrow.
Since this has a serious impact, I'd suggest we apply it (if voted positive) to
the 1.4.1 branch and release 1.4.2 from that seperated CVS branch immediately.
So we have a fix for the "old" latin1 internal encoding.
Then release 1.5.0 devel with the new UTF-8 internal encoding and propagate it
to stable after a while.
Stipe
-------------------------------------------------------------------
Kölner Landstrasse 419
40589 Düsseldorf, NRW, Germany
tolj.org system architecture Kannel Software Foundation (KSF)
http://www.tolj.org/ http://www.kannel.org/
mailto:st_{at}_tolj.org mailto:stolj_{at}_kannel.org
-------------------------------------------------------------------