Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ InternalFallback()

unsafe bool System.Text.EncoderFallbackBufferHelper.InternalFallback ( char ch,
ref char * chars )
inlinepackage

Definition at line 60 of file EncoderFallbackBufferHelper.cs.

61 {
62 int index = (int)(chars - charStart) - 1;
63 if (char.IsHighSurrogate(ch))
64 {
65 if (chars >= charEnd)
66 {
67 if (encoder != null && !encoder.MustFlush)
68 {
69 if (setEncoder)
70 {
71 bUsedEncoder = true;
72 encoder.charLeftOver = ch;
73 }
74 bFallingBack = false;
75 return false;
76 }
77 }
78 else
79 {
80 char c = *chars;
81 if (char.IsLowSurrogate(c))
82 {
83 if (bFallingBack && iRecursionCount++ > 250)
84 {
85 ThrowLastCharRecursive(char.ConvertToUtf32(ch, c));
86 }
87 chars++;
89 return bFallingBack;
90 }
91 }
92 }
93 if (bFallingBack && iRecursionCount++ > 250)
94 {
96 }
98 return bFallingBack;
99 }
bool Fallback(char charUnknown, int index)

References System.Text.EncoderFallbackBufferHelper._fallbackBuffer, System.Text.EncoderFallbackBufferHelper.bFallingBack, System.Text.EncoderFallbackBufferHelper.bUsedEncoder, System.ch, System.Text.EncoderFallbackBufferHelper.charEnd, System.chars, System.Text.EncoderFallbackBufferHelper.charStart, System.Text.EncoderFallbackBufferHelper.encoder, System.Text.EncoderFallbackBuffer.Fallback(), System.index, System.Text.EncoderFallbackBufferHelper.iRecursionCount, System.Text.EncoderFallbackBufferHelper.setEncoder, and System.Text.EncoderFallbackBufferHelper.ThrowLastCharRecursive().

Referenced by System.Text.EncodingByteBuffer.Fallback(), System.Text.DBCSCodePageEncoding.GetByteCount(), System.Text.SBCSCodePageEncoding.GetByteCount(), System.Text.DBCSCodePageEncoding.GetBytes(), and System.Text.SBCSCodePageEncoding.GetBytes().