|
@@ -73,10 +73,15 @@ static int _simple_utf8_to_utf16(const unsigned char *in, unsigned long inlen,
|
|
|
if (in + extra >= in_end) goto ERROR;
|
|
if (in + extra >= in_end) goto ERROR;
|
|
|
switch (extra) {
|
|
switch (extra) {
|
|
|
case 5: ch += *in++; ch <<= 6;
|
|
case 5: ch += *in++; ch <<= 6;
|
|
|
|
|
+ /* FALLTHROUGH */
|
|
|
case 4: ch += *in++; ch <<= 6;
|
|
case 4: ch += *in++; ch <<= 6;
|
|
|
|
|
+ /* FALLTHROUGH */
|
|
|
case 3: ch += *in++; ch <<= 6;
|
|
case 3: ch += *in++; ch <<= 6;
|
|
|
|
|
+ /* FALLTHROUGH */
|
|
|
case 2: ch += *in++; ch <<= 6;
|
|
case 2: ch += *in++; ch <<= 6;
|
|
|
|
|
+ /* FALLTHROUGH */
|
|
|
case 1: ch += *in++; ch <<= 6;
|
|
case 1: ch += *in++; ch <<= 6;
|
|
|
|
|
+ /* FALLTHROUGH */
|
|
|
case 0: ch += *in++;
|
|
case 0: ch += *in++;
|
|
|
}
|
|
}
|
|
|
ch -= offset[extra];
|
|
ch -= offset[extra];
|