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)