diff options
Diffstat (limited to 'src/mm-charsets.c')
-rw-r--r-- | src/mm-charsets.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/mm-charsets.c b/src/mm-charsets.c index d2b9a66..cbdf388 100644 --- a/src/mm-charsets.c +++ b/src/mm-charsets.c @@ -427,17 +427,16 @@ mm_charset_utf8_to_unpacked_gsm (const char *utf8, guint32 *out_len) guint8 * gsm_unpack (const guint8 *gsm, - guint32 gsm_len, + guint32 num_septets, guint8 start_offset, /* in _bits_ */ guint32 *out_unpacked_len) { GByteArray *unpacked; - int i, nchars; + int i; - nchars = ((gsm_len * 8) - start_offset) / 7; - unpacked = g_byte_array_sized_new (nchars + 1); + unpacked = g_byte_array_sized_new (num_septets + 1); - for (i = 0; i < nchars; i++) { + for (i = 0; i < num_septets; i++) { guint8 bits_here, bits_in_next, octet, offset, c; guint32 start_bit; |