From d717908c699e991e48bcf5aa04d15b79189fd28a Mon Sep 17 00:00:00 2001 From: Denis Kenzior Date: Thu, 2 Jul 2009 12:55:01 -0500 Subject: [PATCH] Don't hardcode --- src/smsutil.c | 10 ++++++---- src/smsutil.h | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/smsutil.c b/src/smsutil.c index dbcb5084..139b360c 100644 --- a/src/smsutil.c +++ b/src/smsutil.c @@ -2737,8 +2737,7 @@ char *cbs_decode_text(GSList *cbs_list, char *iso639_lang) return NULL; if (curch == SMS_CHARSET_7BIT) { - /* CBS can have up to 93 chars in 7Bit */ - bufsize += 93; + bufsize += CBS_MAX_GSM_CHARS; if (iso639) bufsize -= 3; @@ -2783,11 +2782,14 @@ char *cbs_decode_text(GSList *cbs_list, char *iso639_lang) taken = sms_udh_iter_get_udh_length(&iter) + 1; if (charset == SMS_CHARSET_7BIT) { - unsigned char unpacked[93]; + unsigned char unpacked[CBS_MAX_GSM_CHARS]; long written; - int max_chars = sms_text_capacity_gsm(93, taken); + int max_chars; int i; + max_chars = + sms_text_capacity_gsm(CBS_MAX_GSM_CHARS, taken); + unpack_7bit_own_buf(ud + taken, 82 - taken, taken, FALSE, max_chars, &written, 0, unpacked); diff --git a/src/smsutil.h b/src/smsutil.h index 41c5166a..f04434d6 100644 --- a/src/smsutil.h +++ b/src/smsutil.h @@ -19,7 +19,7 @@ * */ -#define CBS_PAYLOAD_CHARACTERS 93 +#define CBS_MAX_GSM_CHARS 93 enum sms_type { SMS_TYPE_DELIVER = 0,