[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[SCM] libgnokii and core programs branch, master, updated. rel_0_6_29-19
From: |
Pawel Kot |
Subject: |
[SCM] libgnokii and core programs branch, master, updated. rel_0_6_29-193-gf815070 |
Date: |
Sat, 19 Feb 2011 20:51:05 +0000 |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "libgnokii and core programs".
The branch, master has been updated
via f815070e50dab5dba0caa82764eda90752132384 (commit)
via c2adc2d43873402e5357b75a9bebfe52c65244fe (commit)
via 940f6fe6217786f3f86283e1fedfd110882f5d6e (commit)
from 71a837eff53166d97e5d62912eb85e0223ccaf3a (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://git.savannah.gnu.org/cgit/gnokii.git/commit/?id=f815070e50dab5dba0caa82764eda90752132384
commit f815070e50dab5dba0caa82764eda90752132384
Author: Pawel Kot <address@hidden>
Date: Sat Feb 19 17:37:16 2011 +0100
Fix SMS encoding.
When multibyte encodings were on the Default Alphabet SMS input, it could
get split in the middle.
diff --git a/ChangeLog b/ChangeLog
index fd5a625..b4acdbb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -10,6 +10,8 @@
could be used (Daniele Forsi)
o fix setting alarms for zero length events read from icalendar
files (eg. birthdays) (Daniele Forsi)
+ o fix sms encoding: don't break multibyte characters when
+ creating multipart messages (PaweÅ Kot)
* nk6510 driver updates
o fix calendar handling issues (few off-by-ones) (PaweÅ Kot)
o implement deletecalendarnote for series40 3rd+ Ed (PaweÅ Kot)
diff --git a/common/gsm-sms.c b/common/gsm-sms.c
index 515bba6..ec05a46 100644
--- a/common/gsm-sms.c
+++ b/common/gsm-sms.c
@@ -1444,6 +1444,10 @@ static gn_error sms_data_encode(gn_sms *sms, gn_sms_raw
*rawsms)
dprintf("UCS-2\n");
rawsms->dcs |= 0x08;
length = ucs2_encode(rawsms->user_data +
offset, GN_SMS_LONG_MAX_LENGTH, sms->user_data[i].u.text, length);
+ if (length < 0) {
+ dprintf("Failed to encode UCS2
message\n");
+ return GN_ERR_WRONGDATAFORMAT;
+ }
rawsms->user_data_length = rawsms->length =
length + udh_length;
break;
default:
@@ -1749,6 +1753,8 @@ static gn_error sms_send_long(gn_data *data, struct
gn_statemachine *state)
data->sms->udh.udh[isConcat].u.concatenated_short_message.maximum_number =
count;
data->sms->udh.udh[isConcat].u.concatenated_short_message.current_number = i+1;
switch (data->sms->dcs.u.general.alphabet) {
+ /* Needed for ucs2_encode */
+ char buf[1000];
case GN_SMS_DCS_DefaultAlphabet:
start += copied;
memset(&data->sms->user_data[0], 0,
sizeof(gn_sms_user_data));
@@ -1769,6 +1775,9 @@ static gn_error sms_send_long(gn_data *data, struct
gn_statemachine *state)
/* avoid off-by-one problem */
if (size > max_sms_len * 8 / 7)
copied--;
+ /* Make sure that we don't split input char in half */
+ while (ucs2_encode(buf, 1000, ud[0].u.text+start,
copied) < 0)
+ copied--;
dprintf("\tnumber of processed characters: %d\n\tsize
of the input: %d\n", copied, size);
data->sms->user_data[0].length = copied;
memcpy(data->sms->user_data[0].u.text,
ud[0].u.text+start, copied);
http://git.savannah.gnu.org/cgit/gnokii.git/commit/?id=c2adc2d43873402e5357b75a9bebfe52c65244fe
commit f815070e50dab5dba0caa82764eda90752132384
Author: Pawel Kot <address@hidden>
Date: Sat Feb 19 17:37:16 2011 +0100
Fix SMS encoding.
When multibyte encodings were on the Default Alphabet SMS input, it could
get split in the middle.
diff --git a/ChangeLog b/ChangeLog
index fd5a625..b4acdbb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -10,6 +10,8 @@
could be used (Daniele Forsi)
o fix setting alarms for zero length events read from icalendar
files (eg. birthdays) (Daniele Forsi)
+ o fix sms encoding: don't break multibyte characters when
+ creating multipart messages (PaweÅ Kot)
* nk6510 driver updates
o fix calendar handling issues (few off-by-ones) (PaweÅ Kot)
o implement deletecalendarnote for series40 3rd+ Ed (PaweÅ Kot)
diff --git a/common/gsm-sms.c b/common/gsm-sms.c
index 515bba6..ec05a46 100644
--- a/common/gsm-sms.c
+++ b/common/gsm-sms.c
@@ -1444,6 +1444,10 @@ static gn_error sms_data_encode(gn_sms *sms, gn_sms_raw
*rawsms)
dprintf("UCS-2\n");
rawsms->dcs |= 0x08;
length = ucs2_encode(rawsms->user_data +
offset, GN_SMS_LONG_MAX_LENGTH, sms->user_data[i].u.text, length);
+ if (length < 0) {
+ dprintf("Failed to encode UCS2
message\n");
+ return GN_ERR_WRONGDATAFORMAT;
+ }
rawsms->user_data_length = rawsms->length =
length + udh_length;
break;
default:
@@ -1749,6 +1753,8 @@ static gn_error sms_send_long(gn_data *data, struct
gn_statemachine *state)
data->sms->udh.udh[isConcat].u.concatenated_short_message.maximum_number =
count;
data->sms->udh.udh[isConcat].u.concatenated_short_message.current_number = i+1;
switch (data->sms->dcs.u.general.alphabet) {
+ /* Needed for ucs2_encode */
+ char buf[1000];
case GN_SMS_DCS_DefaultAlphabet:
start += copied;
memset(&data->sms->user_data[0], 0,
sizeof(gn_sms_user_data));
@@ -1769,6 +1775,9 @@ static gn_error sms_send_long(gn_data *data, struct
gn_statemachine *state)
/* avoid off-by-one problem */
if (size > max_sms_len * 8 / 7)
copied--;
+ /* Make sure that we don't split input char in half */
+ while (ucs2_encode(buf, 1000, ud[0].u.text+start,
copied) < 0)
+ copied--;
dprintf("\tnumber of processed characters: %d\n\tsize
of the input: %d\n", copied, size);
data->sms->user_data[0].length = copied;
memcpy(data->sms->user_data[0].u.text,
ud[0].u.text+start, copied);
http://git.savannah.gnu.org/cgit/gnokii.git/commit/?id=940f6fe6217786f3f86283e1fedfd110882f5d6e
commit f815070e50dab5dba0caa82764eda90752132384
Author: Pawel Kot <address@hidden>
Date: Sat Feb 19 17:37:16 2011 +0100
Fix SMS encoding.
When multibyte encodings were on the Default Alphabet SMS input, it could
get split in the middle.
diff --git a/ChangeLog b/ChangeLog
index fd5a625..b4acdbb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -10,6 +10,8 @@
could be used (Daniele Forsi)
o fix setting alarms for zero length events read from icalendar
files (eg. birthdays) (Daniele Forsi)
+ o fix sms encoding: don't break multibyte characters when
+ creating multipart messages (PaweÅ Kot)
* nk6510 driver updates
o fix calendar handling issues (few off-by-ones) (PaweÅ Kot)
o implement deletecalendarnote for series40 3rd+ Ed (PaweÅ Kot)
diff --git a/common/gsm-sms.c b/common/gsm-sms.c
index 515bba6..ec05a46 100644
--- a/common/gsm-sms.c
+++ b/common/gsm-sms.c
@@ -1444,6 +1444,10 @@ static gn_error sms_data_encode(gn_sms *sms, gn_sms_raw
*rawsms)
dprintf("UCS-2\n");
rawsms->dcs |= 0x08;
length = ucs2_encode(rawsms->user_data +
offset, GN_SMS_LONG_MAX_LENGTH, sms->user_data[i].u.text, length);
+ if (length < 0) {
+ dprintf("Failed to encode UCS2
message\n");
+ return GN_ERR_WRONGDATAFORMAT;
+ }
rawsms->user_data_length = rawsms->length =
length + udh_length;
break;
default:
@@ -1749,6 +1753,8 @@ static gn_error sms_send_long(gn_data *data, struct
gn_statemachine *state)
data->sms->udh.udh[isConcat].u.concatenated_short_message.maximum_number =
count;
data->sms->udh.udh[isConcat].u.concatenated_short_message.current_number = i+1;
switch (data->sms->dcs.u.general.alphabet) {
+ /* Needed for ucs2_encode */
+ char buf[1000];
case GN_SMS_DCS_DefaultAlphabet:
start += copied;
memset(&data->sms->user_data[0], 0,
sizeof(gn_sms_user_data));
@@ -1769,6 +1775,9 @@ static gn_error sms_send_long(gn_data *data, struct
gn_statemachine *state)
/* avoid off-by-one problem */
if (size > max_sms_len * 8 / 7)
copied--;
+ /* Make sure that we don't split input char in half */
+ while (ucs2_encode(buf, 1000, ud[0].u.text+start,
copied) < 0)
+ copied--;
dprintf("\tnumber of processed characters: %d\n\tsize
of the input: %d\n", copied, size);
data->sms->user_data[0].length = copied;
memcpy(data->sms->user_data[0].u.text,
ud[0].u.text+start, copied);
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 2 ++
common/gsm-encoding.c | 37 +++++++++++++++++++++++++++++--------
common/gsm-sms.c | 9 +++++++++
3 files changed, 40 insertions(+), 8 deletions(-)
hooks/post-receive
--
libgnokii and core programs
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [SCM] libgnokii and core programs branch, master, updated. rel_0_6_29-193-gf815070,
Pawel Kot <=