Lines Matching refs:source
149 const UTF32* source = *sourceStart; in ConvertUTF32toUTF16() local
151 while (source < sourceEnd) { in ConvertUTF32toUTF16()
156 ch = *source++; in ConvertUTF32toUTF16()
161 --source; /* return to the illegal value itself */ in ConvertUTF32toUTF16()
179 --source; /* Back up source pointer! */ in ConvertUTF32toUTF16()
187 *sourceStart = source; in ConvertUTF32toUTF16()
198 const UTF16* source = *sourceStart; in ConvertUTF16toUTF32() local
201 while (source < sourceEnd) { in ConvertUTF16toUTF32()
202 … const UTF16* oldSource = source; /* In case we have to back up because of target overflow. */ in ConvertUTF16toUTF32()
203 ch = *source++; in ConvertUTF16toUTF32()
207 if (source < sourceEnd) { in ConvertUTF16toUTF32()
208 ch2 = *source; in ConvertUTF16toUTF32()
213 ++source; in ConvertUTF16toUTF32()
215 --source; /* return to the illegal value itself */ in ConvertUTF16toUTF32()
220 --source; /* return to the high surrogate */ in ConvertUTF16toUTF32()
227 --source; /* return to the illegal value itself */ in ConvertUTF16toUTF32()
233 source = oldSource; /* Back up source pointer! */ in ConvertUTF16toUTF32()
238 *sourceStart = source; in ConvertUTF16toUTF32()
252 const UTF16* source = *sourceStart; in ConvertUTF16toUTF8() local
254 while (source < sourceEnd) { in ConvertUTF16toUTF8()
259 … const UTF16* oldSource = source; /* In case we have to back up because of target overflow. */ in ConvertUTF16toUTF8()
260 ch = *source++; in ConvertUTF16toUTF8()
264 if (source < sourceEnd) { in ConvertUTF16toUTF8()
265 UTF32 ch2 = *source; in ConvertUTF16toUTF8()
270 ++source; in ConvertUTF16toUTF8()
272 --source; /* return to the illegal value itself */ in ConvertUTF16toUTF8()
277 --source; /* return to the high surrogate */ in ConvertUTF16toUTF8()
284 --source; /* return to the illegal value itself */ in ConvertUTF16toUTF8()
300 source = oldSource; /* Back up source pointer! */ in ConvertUTF16toUTF8()
311 *sourceStart = source; in ConvertUTF16toUTF8()
322 const UTF32* source = *sourceStart; in ConvertUTF32toUTF8() local
324 while (source < sourceEnd) { in ConvertUTF32toUTF8()
329 ch = *source++; in ConvertUTF32toUTF8()
333 --source; /* return to the illegal value itself */ in ConvertUTF32toUTF8()
353 --source; /* Back up source pointer! */ in ConvertUTF32toUTF8()
364 *sourceStart = source; in ConvertUTF32toUTF8()
382 static Boolean isLegalUTF8(const UTF8 *source, int length) { in isLegalUTF8() argument
384 const UTF8 *srcptr = source+length; in isLegalUTF8()
392 switch (*source) { in isLegalUTF8()
401 case 1: if (*source >= 0x80 && *source < 0xC2) return false; in isLegalUTF8()
403 if (*source > 0xF4) return false; in isLegalUTF8()
413 Boolean isLegalUTF8Sequence(const UTF8 *source, const UTF8 *sourceEnd) { in isLegalUTF8Sequence() argument
414 int length = trailingBytesForUTF8[*source]+1; in isLegalUTF8Sequence()
415 if (length > sourceEnd - source) { in isLegalUTF8Sequence()
418 return isLegalUTF8(source, length); in isLegalUTF8Sequence()
424 findMaximalSubpartOfIllFormedUTF8Sequence(const UTF8 *source, in findMaximalSubpartOfIllFormedUTF8Sequence() argument
428 assert(!isLegalUTF8Sequence(source, sourceEnd)); in findMaximalSubpartOfIllFormedUTF8Sequence()
439 if (source == sourceEnd) in findMaximalSubpartOfIllFormedUTF8Sequence()
447 b1 = *source; in findMaximalSubpartOfIllFormedUTF8Sequence()
448 ++source; in findMaximalSubpartOfIllFormedUTF8Sequence()
457 if (source == sourceEnd) in findMaximalSubpartOfIllFormedUTF8Sequence()
460 b2 = *source; in findMaximalSubpartOfIllFormedUTF8Sequence()
461 ++source; in findMaximalSubpartOfIllFormedUTF8Sequence()
477 if (source == sourceEnd) in findMaximalSubpartOfIllFormedUTF8Sequence()
480 b3 = *source; in findMaximalSubpartOfIllFormedUTF8Sequence()
487 if (source == sourceEnd) in findMaximalSubpartOfIllFormedUTF8Sequence()
490 b3 = *source; in findMaximalSubpartOfIllFormedUTF8Sequence()
497 if (source == sourceEnd) in findMaximalSubpartOfIllFormedUTF8Sequence()
500 b3 = *source; in findMaximalSubpartOfIllFormedUTF8Sequence()
530 Boolean isLegalUTF8String(const UTF8 **source, const UTF8 *sourceEnd) { in isLegalUTF8String() argument
531 while (*source != sourceEnd) { in isLegalUTF8String()
532 int length = trailingBytesForUTF8[**source] + 1; in isLegalUTF8String()
533 if (length > sourceEnd - *source || !isLegalUTF8(*source, length)) in isLegalUTF8String()
535 *source += length; in isLegalUTF8String()
546 const UTF8* source = *sourceStart; in ConvertUTF8toUTF16() local
548 while (source < sourceEnd) { in ConvertUTF8toUTF16()
550 unsigned short extraBytesToRead = trailingBytesForUTF8[*source]; in ConvertUTF8toUTF16()
551 if (extraBytesToRead >= sourceEnd - source) { in ConvertUTF8toUTF16()
555 if (!isLegalUTF8(source, extraBytesToRead+1)) { in ConvertUTF8toUTF16()
563 case 5: ch += *source++; ch <<= 6; /* remember, illegal UTF-8 */ in ConvertUTF8toUTF16()
564 case 4: ch += *source++; ch <<= 6; /* remember, illegal UTF-8 */ in ConvertUTF8toUTF16()
565 case 3: ch += *source++; ch <<= 6; in ConvertUTF8toUTF16()
566 case 2: ch += *source++; ch <<= 6; in ConvertUTF8toUTF16()
567 case 1: ch += *source++; ch <<= 6; in ConvertUTF8toUTF16()
568 case 0: ch += *source++; in ConvertUTF8toUTF16()
573 source -= (extraBytesToRead+1); /* Back up source pointer! */ in ConvertUTF8toUTF16()
580 source -= (extraBytesToRead+1); /* return to the illegal value itself */ in ConvertUTF8toUTF16()
592 source -= (extraBytesToRead+1); /* return to the start */ in ConvertUTF8toUTF16()
600 source -= (extraBytesToRead+1); /* Back up source pointer! */ in ConvertUTF8toUTF16()
608 *sourceStart = source; in ConvertUTF8toUTF16()
620 const UTF8* source = *sourceStart; in ConvertUTF8toUTF32Impl() local
622 while (source < sourceEnd) { in ConvertUTF8toUTF32Impl()
624 unsigned short extraBytesToRead = trailingBytesForUTF8[*source]; in ConvertUTF8toUTF32Impl()
625 if (extraBytesToRead >= sourceEnd - source) { in ConvertUTF8toUTF32Impl()
636 source += findMaximalSubpartOfIllFormedUTF8Sequence(source, in ConvertUTF8toUTF32Impl()
647 if (!isLegalUTF8(source, extraBytesToRead+1)) { in ConvertUTF8toUTF32Impl()
657 source += findMaximalSubpartOfIllFormedUTF8Sequence(source, in ConvertUTF8toUTF32Impl()
667 case 5: ch += *source++; ch <<= 6; in ConvertUTF8toUTF32Impl()
668 case 4: ch += *source++; ch <<= 6; in ConvertUTF8toUTF32Impl()
669 case 3: ch += *source++; ch <<= 6; in ConvertUTF8toUTF32Impl()
670 case 2: ch += *source++; ch <<= 6; in ConvertUTF8toUTF32Impl()
671 case 1: ch += *source++; ch <<= 6; in ConvertUTF8toUTF32Impl()
672 case 0: ch += *source++; in ConvertUTF8toUTF32Impl()
683 source -= (extraBytesToRead+1); /* return to the illegal value itself */ in ConvertUTF8toUTF32Impl()
697 *sourceStart = source; in ConvertUTF8toUTF32Impl()