Lines Matching refs:source
148 const UTF32* source = *sourceStart; in ConvertUTF32toUTF16() local
150 while (source < sourceEnd) { in ConvertUTF32toUTF16()
155 ch = *source++; in ConvertUTF32toUTF16()
160 --source; /* return to the illegal value itself */ in ConvertUTF32toUTF16()
178 --source; /* Back up source pointer! */ in ConvertUTF32toUTF16()
186 *sourceStart = source; in ConvertUTF32toUTF16()
197 const UTF16* source = *sourceStart; in ConvertUTF16toUTF32() local
200 while (source < sourceEnd) { in ConvertUTF16toUTF32()
201 … const UTF16* oldSource = source; /* In case we have to back up because of target overflow. */ in ConvertUTF16toUTF32()
202 ch = *source++; in ConvertUTF16toUTF32()
206 if (source < sourceEnd) { in ConvertUTF16toUTF32()
207 ch2 = *source; in ConvertUTF16toUTF32()
212 ++source; in ConvertUTF16toUTF32()
214 --source; /* return to the illegal value itself */ in ConvertUTF16toUTF32()
219 --source; /* return to the high surrogate */ in ConvertUTF16toUTF32()
226 --source; /* return to the illegal value itself */ in ConvertUTF16toUTF32()
232 source = oldSource; /* Back up source pointer! */ in ConvertUTF16toUTF32()
237 *sourceStart = source; in ConvertUTF16toUTF32()
251 const UTF16* source = *sourceStart; in ConvertUTF16toUTF8() local
253 while (source < sourceEnd) { in ConvertUTF16toUTF8()
258 … const UTF16* oldSource = source; /* In case we have to back up because of target overflow. */ in ConvertUTF16toUTF8()
259 ch = *source++; in ConvertUTF16toUTF8()
263 if (source < sourceEnd) { in ConvertUTF16toUTF8()
264 UTF32 ch2 = *source; in ConvertUTF16toUTF8()
269 ++source; in ConvertUTF16toUTF8()
271 --source; /* return to the illegal value itself */ in ConvertUTF16toUTF8()
276 --source; /* return to the high surrogate */ in ConvertUTF16toUTF8()
283 --source; /* return to the illegal value itself */ in ConvertUTF16toUTF8()
299 source = oldSource; /* Back up source pointer! */ in ConvertUTF16toUTF8()
310 *sourceStart = source; in ConvertUTF16toUTF8()
321 const UTF32* source = *sourceStart; in ConvertUTF32toUTF8() local
323 while (source < sourceEnd) { in ConvertUTF32toUTF8()
328 ch = *source++; in ConvertUTF32toUTF8()
332 --source; /* return to the illegal value itself */ in ConvertUTF32toUTF8()
352 --source; /* Back up source pointer! */ in ConvertUTF32toUTF8()
363 *sourceStart = source; in ConvertUTF32toUTF8()
381 static Boolean isLegalUTF8(const UTF8 *source, int length) { in isLegalUTF8() argument
383 const UTF8 *srcptr = source+length; in isLegalUTF8()
391 switch (*source) { in isLegalUTF8()
400 case 1: if (*source >= 0x80 && *source < 0xC2) return false; in isLegalUTF8()
402 if (*source > 0xF4) return false; in isLegalUTF8()
412 Boolean isLegalUTF8Sequence(const UTF8 *source, const UTF8 *sourceEnd) { in isLegalUTF8Sequence() argument
413 int length = trailingBytesForUTF8[*source]+1; in isLegalUTF8Sequence()
414 if (length > sourceEnd - source) { in isLegalUTF8Sequence()
417 return isLegalUTF8(source, length); in isLegalUTF8Sequence()
423 findMaximalSubpartOfIllFormedUTF8Sequence(const UTF8 *source, in findMaximalSubpartOfIllFormedUTF8Sequence() argument
427 assert(!isLegalUTF8Sequence(source, sourceEnd)); in findMaximalSubpartOfIllFormedUTF8Sequence()
438 if (source == sourceEnd) in findMaximalSubpartOfIllFormedUTF8Sequence()
446 b1 = *source; in findMaximalSubpartOfIllFormedUTF8Sequence()
447 ++source; in findMaximalSubpartOfIllFormedUTF8Sequence()
456 if (source == sourceEnd) in findMaximalSubpartOfIllFormedUTF8Sequence()
459 b2 = *source; in findMaximalSubpartOfIllFormedUTF8Sequence()
460 ++source; in findMaximalSubpartOfIllFormedUTF8Sequence()
476 if (source == sourceEnd) in findMaximalSubpartOfIllFormedUTF8Sequence()
479 b3 = *source; in findMaximalSubpartOfIllFormedUTF8Sequence()
486 if (source == sourceEnd) in findMaximalSubpartOfIllFormedUTF8Sequence()
489 b3 = *source; in findMaximalSubpartOfIllFormedUTF8Sequence()
496 if (source == sourceEnd) in findMaximalSubpartOfIllFormedUTF8Sequence()
499 b3 = *source; in findMaximalSubpartOfIllFormedUTF8Sequence()
529 Boolean isLegalUTF8String(const UTF8 **source, const UTF8 *sourceEnd) { in isLegalUTF8String() argument
530 while (*source != sourceEnd) { in isLegalUTF8String()
531 int length = trailingBytesForUTF8[**source] + 1; in isLegalUTF8String()
532 if (length > sourceEnd - *source || !isLegalUTF8(*source, length)) in isLegalUTF8String()
534 *source += length; in isLegalUTF8String()
545 const UTF8* source = *sourceStart; in ConvertUTF8toUTF16() local
547 while (source < sourceEnd) { in ConvertUTF8toUTF16()
549 unsigned short extraBytesToRead = trailingBytesForUTF8[*source]; in ConvertUTF8toUTF16()
550 if (extraBytesToRead >= sourceEnd - source) { in ConvertUTF8toUTF16()
554 if (!isLegalUTF8(source, extraBytesToRead+1)) { in ConvertUTF8toUTF16()
562 case 5: ch += *source++; ch <<= 6; /* remember, illegal UTF-8 */ in ConvertUTF8toUTF16()
563 case 4: ch += *source++; ch <<= 6; /* remember, illegal UTF-8 */ in ConvertUTF8toUTF16()
564 case 3: ch += *source++; ch <<= 6; in ConvertUTF8toUTF16()
565 case 2: ch += *source++; ch <<= 6; in ConvertUTF8toUTF16()
566 case 1: ch += *source++; ch <<= 6; in ConvertUTF8toUTF16()
567 case 0: ch += *source++; in ConvertUTF8toUTF16()
572 source -= (extraBytesToRead+1); /* Back up source pointer! */ in ConvertUTF8toUTF16()
579 source -= (extraBytesToRead+1); /* return to the illegal value itself */ in ConvertUTF8toUTF16()
591 source -= (extraBytesToRead+1); /* return to the start */ in ConvertUTF8toUTF16()
599 source -= (extraBytesToRead+1); /* Back up source pointer! */ in ConvertUTF8toUTF16()
607 *sourceStart = source; in ConvertUTF8toUTF16()
619 const UTF8* source = *sourceStart; in ConvertUTF8toUTF32Impl() local
621 while (source < sourceEnd) { in ConvertUTF8toUTF32Impl()
623 unsigned short extraBytesToRead = trailingBytesForUTF8[*source]; in ConvertUTF8toUTF32Impl()
624 if (extraBytesToRead >= sourceEnd - source) { in ConvertUTF8toUTF32Impl()
635 source += findMaximalSubpartOfIllFormedUTF8Sequence(source, in ConvertUTF8toUTF32Impl()
646 if (!isLegalUTF8(source, extraBytesToRead+1)) { in ConvertUTF8toUTF32Impl()
656 source += findMaximalSubpartOfIllFormedUTF8Sequence(source, in ConvertUTF8toUTF32Impl()
666 case 5: ch += *source++; ch <<= 6; in ConvertUTF8toUTF32Impl()
667 case 4: ch += *source++; ch <<= 6; in ConvertUTF8toUTF32Impl()
668 case 3: ch += *source++; ch <<= 6; in ConvertUTF8toUTF32Impl()
669 case 2: ch += *source++; ch <<= 6; in ConvertUTF8toUTF32Impl()
670 case 1: ch += *source++; ch <<= 6; in ConvertUTF8toUTF32Impl()
671 case 0: ch += *source++; in ConvertUTF8toUTF32Impl()
682 source -= (extraBytesToRead+1); /* return to the illegal value itself */ in ConvertUTF8toUTF32Impl()
696 *sourceStart = source; in ConvertUTF8toUTF32Impl()