Lines Matching refs:source

164     const UTF32* source = *sourceStart;  in ConvertUTF32toUTF16()  local
166 while (source < sourceEnd) { in ConvertUTF32toUTF16()
171 ch = *source++; in ConvertUTF32toUTF16()
176 --source; /* return to the illegal value itself */ in ConvertUTF32toUTF16()
194 --source; /* Back up source pointer! */ in ConvertUTF32toUTF16()
202 *sourceStart = source; in ConvertUTF32toUTF16()
213 const UTF16* source = *sourceStart; in ConvertUTF16toUTF32() local
216 while (source < sourceEnd) { in ConvertUTF16toUTF32()
217 … const UTF16* oldSource = source; /* In case we have to back up because of target overflow. */ in ConvertUTF16toUTF32()
218 ch = *source++; in ConvertUTF16toUTF32()
222 if (source < sourceEnd) { in ConvertUTF16toUTF32()
223 ch2 = *source; in ConvertUTF16toUTF32()
228 ++source; in ConvertUTF16toUTF32()
230 --source; /* return to the illegal value itself */ in ConvertUTF16toUTF32()
235 --source; /* return to the high surrogate */ in ConvertUTF16toUTF32()
242 --source; /* return to the illegal value itself */ in ConvertUTF16toUTF32()
248 source = oldSource; /* Back up source pointer! */ in ConvertUTF16toUTF32()
253 *sourceStart = source; in ConvertUTF16toUTF32()
267 const UTF16* source = *sourceStart; in ConvertUTF16toUTF8() local
269 while (source < sourceEnd) { in ConvertUTF16toUTF8()
274 … const UTF16* oldSource = source; /* In case we have to back up because of target overflow. */ in ConvertUTF16toUTF8()
275 ch = *source++; in ConvertUTF16toUTF8()
279 if (source < sourceEnd) { in ConvertUTF16toUTF8()
280 UTF32 ch2 = *source; in ConvertUTF16toUTF8()
285 ++source; in ConvertUTF16toUTF8()
287 --source; /* return to the illegal value itself */ in ConvertUTF16toUTF8()
292 --source; /* return to the high surrogate */ in ConvertUTF16toUTF8()
299 --source; /* return to the illegal value itself */ in ConvertUTF16toUTF8()
315 source = oldSource; /* Back up source pointer! */ in ConvertUTF16toUTF8()
326 *sourceStart = source; in ConvertUTF16toUTF8()
337 const UTF32* source = *sourceStart; in ConvertUTF32toUTF8() local
339 while (source < sourceEnd) { in ConvertUTF32toUTF8()
344 ch = *source++; in ConvertUTF32toUTF8()
348 --source; /* return to the illegal value itself */ in ConvertUTF32toUTF8()
368 --source; /* Back up source pointer! */ in ConvertUTF32toUTF8()
379 *sourceStart = source; in ConvertUTF32toUTF8()
397 static Boolean isLegalUTF8(const UTF8 *source, int length) { in isLegalUTF8() argument
399 const UTF8 *srcptr = source+length; in isLegalUTF8()
407 switch (*source) { in isLegalUTF8()
416 case 1: if (*source >= 0x80 && *source < 0xC2) return false; in isLegalUTF8()
418 if (*source > 0xF4) return false; in isLegalUTF8()
428 Boolean isLegalUTF8Sequence(const UTF8 *source, const UTF8 *sourceEnd) { in isLegalUTF8Sequence() argument
429 int length = trailingBytesForUTF8[*source]+1; in isLegalUTF8Sequence()
430 if (length > sourceEnd - source) { in isLegalUTF8Sequence()
433 return isLegalUTF8(source, length); in isLegalUTF8Sequence()
440 unsigned getUTF8SequenceSize(const UTF8 *source, const UTF8 *sourceEnd) { in getUTF8SequenceSize() argument
441 int length = trailingBytesForUTF8[*source] + 1; in getUTF8SequenceSize()
442 return (length <= sourceEnd - source && isLegalUTF8(source, length)) ? length in getUTF8SequenceSize()
449 findMaximalSubpartOfIllFormedUTF8Sequence(const UTF8 *source, in findMaximalSubpartOfIllFormedUTF8Sequence() argument
453 assert(!isLegalUTF8Sequence(source, sourceEnd)); in findMaximalSubpartOfIllFormedUTF8Sequence()
464 if (source == sourceEnd) in findMaximalSubpartOfIllFormedUTF8Sequence()
472 b1 = *source; in findMaximalSubpartOfIllFormedUTF8Sequence()
473 ++source; in findMaximalSubpartOfIllFormedUTF8Sequence()
482 if (source == sourceEnd) in findMaximalSubpartOfIllFormedUTF8Sequence()
485 b2 = *source; in findMaximalSubpartOfIllFormedUTF8Sequence()
486 ++source; in findMaximalSubpartOfIllFormedUTF8Sequence()
502 if (source == sourceEnd) in findMaximalSubpartOfIllFormedUTF8Sequence()
505 b3 = *source; in findMaximalSubpartOfIllFormedUTF8Sequence()
512 if (source == sourceEnd) in findMaximalSubpartOfIllFormedUTF8Sequence()
515 b3 = *source; in findMaximalSubpartOfIllFormedUTF8Sequence()
522 if (source == sourceEnd) in findMaximalSubpartOfIllFormedUTF8Sequence()
525 b3 = *source; in findMaximalSubpartOfIllFormedUTF8Sequence()
555 Boolean isLegalUTF8String(const UTF8 **source, const UTF8 *sourceEnd) { in isLegalUTF8String() argument
556 while (*source != sourceEnd) { in isLegalUTF8String()
557 int length = trailingBytesForUTF8[**source] + 1; in isLegalUTF8String()
558 if (length > sourceEnd - *source || !isLegalUTF8(*source, length)) in isLegalUTF8String()
560 *source += length; in isLegalUTF8String()
571 const UTF8* source = *sourceStart; in ConvertUTF8toUTF16() local
573 while (source < sourceEnd) { in ConvertUTF8toUTF16()
575 unsigned short extraBytesToRead = trailingBytesForUTF8[*source]; in ConvertUTF8toUTF16()
576 if (extraBytesToRead >= sourceEnd - source) { in ConvertUTF8toUTF16()
580 if (!isLegalUTF8(source, extraBytesToRead+1)) { in ConvertUTF8toUTF16()
588 case 5: ch += *source++; ch <<= 6; /* remember, illegal UTF-8 */ in ConvertUTF8toUTF16()
589 case 4: ch += *source++; ch <<= 6; /* remember, illegal UTF-8 */ in ConvertUTF8toUTF16()
590 case 3: ch += *source++; ch <<= 6; in ConvertUTF8toUTF16()
591 case 2: ch += *source++; ch <<= 6; in ConvertUTF8toUTF16()
592 case 1: ch += *source++; ch <<= 6; in ConvertUTF8toUTF16()
593 case 0: ch += *source++; in ConvertUTF8toUTF16()
598 source -= (extraBytesToRead+1); /* Back up source pointer! */ in ConvertUTF8toUTF16()
605 source -= (extraBytesToRead+1); /* return to the illegal value itself */ in ConvertUTF8toUTF16()
617 source -= (extraBytesToRead+1); /* return to the start */ in ConvertUTF8toUTF16()
625 source -= (extraBytesToRead+1); /* Back up source pointer! */ in ConvertUTF8toUTF16()
633 *sourceStart = source; in ConvertUTF8toUTF16()
645 const UTF8* source = *sourceStart; in ConvertUTF8toUTF32Impl() local
647 while (source < sourceEnd) { in ConvertUTF8toUTF32Impl()
649 unsigned short extraBytesToRead = trailingBytesForUTF8[*source]; in ConvertUTF8toUTF32Impl()
650 if (extraBytesToRead >= sourceEnd - source) { in ConvertUTF8toUTF32Impl()
661 source += findMaximalSubpartOfIllFormedUTF8Sequence(source, in ConvertUTF8toUTF32Impl()
672 if (!isLegalUTF8(source, extraBytesToRead+1)) { in ConvertUTF8toUTF32Impl()
682 source += findMaximalSubpartOfIllFormedUTF8Sequence(source, in ConvertUTF8toUTF32Impl()
692 case 5: ch += *source++; ch <<= 6; in ConvertUTF8toUTF32Impl()
693 case 4: ch += *source++; ch <<= 6; in ConvertUTF8toUTF32Impl()
694 case 3: ch += *source++; ch <<= 6; in ConvertUTF8toUTF32Impl()
695 case 2: ch += *source++; ch <<= 6; in ConvertUTF8toUTF32Impl()
696 case 1: ch += *source++; ch <<= 6; in ConvertUTF8toUTF32Impl()
697 case 0: ch += *source++; in ConvertUTF8toUTF32Impl()
708 source -= (extraBytesToRead+1); /* return to the illegal value itself */ in ConvertUTF8toUTF32Impl()
722 *sourceStart = source; in ConvertUTF8toUTF32Impl()