From 5b67a04a34cb2e6ed2ee441b87bda12dca39626f Mon Sep 17 00:00:00 2001 From: Nico Golde Date: Thu, 20 Sep 2012 16:56:23 +0200 Subject: gsm_utils.c: in 7bit decoding, first check if the last character was an extension character before doing anything else --- src/gsm/gsm_utils.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/gsm/gsm_utils.c b/src/gsm/gsm_utils.c index 6af0a5ff..8b1fae08 100644 --- a/src/gsm/gsm_utils.c +++ b/src/gsm/gsm_utils.c @@ -146,15 +146,15 @@ int gsm_7bit_decode_hdr(char *text, const uint8_t *user_data, uint8_t septet_l, (user_data[((i + shift) * 7) >> 3] >> (((i + shift) * 7) & 7))) & 0x7f; - if (c == 0x1b && i + 1 < septet_l) { - next_is_ext = 1; - continue; - } - /* this is an extension character */ if (next_is_ext) { next_is_ext = 0; *(text++) = gsm_7bit_alphabet[0x7f + c]; + continue; + } + + if (c == 0x1b && i + 1 < septet_l) { + next_is_ext = 1; } else { *(text++) = gsm_septet_lookup(c); } -- cgit v1.2.3