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()
424 unsigned getUTF8SequenceSize(const UTF8 *source, const UTF8 *sourceEnd) { in getUTF8SequenceSize() argument
425 int length = trailingBytesForUTF8[*source] + 1; in getUTF8SequenceSize()
426 return (length <= sourceEnd - source && isLegalUTF8(source, length)) ? length in getUTF8SequenceSize()
433 findMaximalSubpartOfIllFormedUTF8Sequence(const UTF8 *source, in findMaximalSubpartOfIllFormedUTF8Sequence() argument
437 assert(!isLegalUTF8Sequence(source, sourceEnd)); in findMaximalSubpartOfIllFormedUTF8Sequence()
448 if (source == sourceEnd) in findMaximalSubpartOfIllFormedUTF8Sequence()
456 b1 = *source; in findMaximalSubpartOfIllFormedUTF8Sequence()
457 ++source; in findMaximalSubpartOfIllFormedUTF8Sequence()
466 if (source == sourceEnd) in findMaximalSubpartOfIllFormedUTF8Sequence()
469 b2 = *source; in findMaximalSubpartOfIllFormedUTF8Sequence()
470 ++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()
506 if (source == sourceEnd) in findMaximalSubpartOfIllFormedUTF8Sequence()
509 b3 = *source; in findMaximalSubpartOfIllFormedUTF8Sequence()
539 Boolean isLegalUTF8String(const UTF8 **source, const UTF8 *sourceEnd) { in isLegalUTF8String() argument
540 while (*source != sourceEnd) { in isLegalUTF8String()
541 int length = trailingBytesForUTF8[**source] + 1; in isLegalUTF8String()
542 if (length > sourceEnd - *source || !isLegalUTF8(*source, length)) in isLegalUTF8String()
544 *source += length; in isLegalUTF8String()
555 const UTF8* source = *sourceStart; in ConvertUTF8toUTF16() local
557 while (source < sourceEnd) { in ConvertUTF8toUTF16()
559 unsigned short extraBytesToRead = trailingBytesForUTF8[*source]; in ConvertUTF8toUTF16()
560 if (extraBytesToRead >= sourceEnd - source) { in ConvertUTF8toUTF16()
564 if (!isLegalUTF8(source, extraBytesToRead+1)) { in ConvertUTF8toUTF16()
572 case 5: ch += *source++; ch <<= 6; /* remember, illegal UTF-8 */ in ConvertUTF8toUTF16()
573 case 4: ch += *source++; ch <<= 6; /* remember, illegal UTF-8 */ in ConvertUTF8toUTF16()
574 case 3: ch += *source++; ch <<= 6; in ConvertUTF8toUTF16()
575 case 2: ch += *source++; ch <<= 6; in ConvertUTF8toUTF16()
576 case 1: ch += *source++; ch <<= 6; in ConvertUTF8toUTF16()
577 case 0: ch += *source++; in ConvertUTF8toUTF16()
582 source -= (extraBytesToRead+1); /* Back up source pointer! */ in ConvertUTF8toUTF16()
589 source -= (extraBytesToRead+1); /* return to the illegal value itself */ in ConvertUTF8toUTF16()
601 source -= (extraBytesToRead+1); /* return to the start */ in ConvertUTF8toUTF16()
609 source -= (extraBytesToRead+1); /* Back up source pointer! */ in ConvertUTF8toUTF16()
617 *sourceStart = source; in ConvertUTF8toUTF16()
629 const UTF8* source = *sourceStart; in ConvertUTF8toUTF32Impl() local
631 while (source < sourceEnd) { in ConvertUTF8toUTF32Impl()
633 unsigned short extraBytesToRead = trailingBytesForUTF8[*source]; in ConvertUTF8toUTF32Impl()
634 if (extraBytesToRead >= sourceEnd - source) { in ConvertUTF8toUTF32Impl()
645 source += findMaximalSubpartOfIllFormedUTF8Sequence(source, in ConvertUTF8toUTF32Impl()
656 if (!isLegalUTF8(source, extraBytesToRead+1)) { in ConvertUTF8toUTF32Impl()
666 source += findMaximalSubpartOfIllFormedUTF8Sequence(source, in ConvertUTF8toUTF32Impl()
676 case 5: ch += *source++; ch <<= 6; in ConvertUTF8toUTF32Impl()
677 case 4: ch += *source++; ch <<= 6; in ConvertUTF8toUTF32Impl()
678 case 3: ch += *source++; ch <<= 6; in ConvertUTF8toUTF32Impl()
679 case 2: ch += *source++; ch <<= 6; in ConvertUTF8toUTF32Impl()
680 case 1: ch += *source++; ch <<= 6; in ConvertUTF8toUTF32Impl()
681 case 0: ch += *source++; in ConvertUTF8toUTF32Impl()
692 source -= (extraBytesToRead+1); /* return to the illegal value itself */ in ConvertUTF8toUTF32Impl()
706 *sourceStart = source; in ConvertUTF8toUTF32Impl()