reader_c.go: minor cleanups
diff --git a/reader_c.go b/reader_c.go index e3a8eae..f222c6c 100644 --- a/reader_c.go +++ b/reader_c.go
@@ -134,9 +134,9 @@ first = false // Decode the raw buffer. + inner: for parser.raw_buffer_pos != len(parser.raw_buffer) { - var value, value2 rune - var incomplete bool + var value rune var width int raw_unread := len(parser.raw_buffer) - parser.raw_buffer_pos @@ -187,8 +187,7 @@ "incomplete UTF-8 octet sequence", parser.offset, -1) } - incomplete = true - break + break inner } // Decode the leading octet. @@ -278,8 +277,7 @@ "incomplete UTF-16 character", parser.offset, -1) } - incomplete = true - break + break inner } // Get the character. @@ -304,12 +302,11 @@ "incomplete UTF-16 surrogate pair", parser.offset, -1) } - incomplete = true - break + break inner } // Get the next character. - value2 = rune(parser.raw_buffer[parser.raw_buffer_pos+low+2]) + + value2 := rune(parser.raw_buffer[parser.raw_buffer_pos+low+2]) + (rune(parser.raw_buffer[parser.raw_buffer_pos+high+2]) << 8) // Check for a low surrogate area. @@ -329,11 +326,6 @@ panic("impossible") } - // Check if the raw buffer contains enough bytes to form a character. - if incomplete { - break - } - // Check if the character is in the allowed range: // #x9 | #xA | #xD | [#x20-#x7E] (8 bit) // | #x85 | [#xA0-#xD7FF] | [#xE000-#xFFFD] (16 bit)