645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
|
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
|
+
+
-
+
+
+
|
CONST char *src) /* The current location in the string. */
{
int byte = *((unsigned char *) src);
int left = totalBytes[byte];
const char *next = src + 1;
if (((*src) & 0xC0) == 0x80) {
if (
#if TCL_UTF_MAX > 3
if ((((*++src) & 0xC0) == 0x80) && (((*++src) & 0xC0) == 0x80)) {
(((*++src) & 0xC0) == 0x80) &&
#endif
(((*++src) & 0xC0) == 0x80)) {
++src;
}
return src;
}
while (--left) {
byte = *((unsigned char *) next);
|