Fix minor bug in UTF-8 decoder when handling partly decoded chars.
authorChristoph Mallon <christoph.mallon@gmx.de>
Mon, 15 Dec 2008 14:19:54 +0000 (14:19 +0000)
committerChristoph Mallon <christoph.mallon@gmx.de>
Mon, 15 Dec 2008 14:19:54 +0000 (14:19 +0000)
[r24689]

lexer.c

diff --git a/lexer.c b/lexer.c
index f9ef7c8..fbed584 100644 (file)
--- a/lexer.c
+++ b/lexer.c
@@ -162,9 +162,11 @@ static void decode_utf8(void)
                utf32                min_code;
 
                if (part_decoded_rest_len != 0) {
-                       min_code = part_decoded_min_code;
-                       decoded  = part_decoded_char;
-                       switch (part_decoded_rest_len) {
+                       min_code              = part_decoded_min_code;
+                       decoded               = part_decoded_char;
+                       size_t const rest_len = part_decoded_rest_len;
+                       part_decoded_rest_len = 0;
+                       switch (rest_len) {
                                case 4:  goto realign;
                                case 3:  goto three_more;
                                case 2:  goto two_more;