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

◆ InternalFallback() [1/2]

virtual unsafe bool System.Text.EncoderFallbackBuffer.InternalFallback ( char ch,
ref char * chars )
inlinepackagevirtualinherited

Definition at line 194 of file EncoderFallbackBuffer.cs.

195 {
196 int index = (int)(chars - charStart) - 1;
197 if (char.IsHighSurrogate(ch))
198 {
199 if (chars >= charEnd)
200 {
201 if (encoder != null && !encoder.MustFlush)
202 {
203 if (setEncoder)
204 {
205 bUsedEncoder = true;
206 encoder._charLeftOver = ch;
207 }
208 bFallingBack = false;
209 return false;
210 }
211 }
212 else
213 {
214 char c = *chars;
215 if (char.IsLowSurrogate(c))
216 {
217 if (bFallingBack && iRecursionCount++ > 250)
218 {
219 ThrowLastCharRecursive(char.ConvertToUtf32(ch, c));
220 }
221 chars++;
223 return bFallingBack;
224 }
225 }
226 }
227 if (bFallingBack && iRecursionCount++ > 250)
228 {
230 }
232 return bFallingBack;
233 }
static void ThrowLastCharRecursive(int charRecursive)
bool Fallback(char charUnknown, int index)

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