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

◆ DrainRemainingDataForGetByteCount()

int System.Text.EncoderFallbackBuffer.DrainRemainingDataForGetByteCount ( )
inlinepackageinherited

Definition at line 159 of file EncoderFallbackBuffer.cs.

160 {
161 int num = 0;
162 while (true)
163 {
164 Rune nextRune;
165 Rune rune = (nextRune = GetNextRune());
166 if (rune.Value == 0)
167 {
168 break;
169 }
170 if (!encoding.TryGetByteCount(nextRune, out var byteCount))
171 {
172 ThrowLastCharRecursive(nextRune.Value);
173 }
174 num += byteCount;
175 if (num < 0)
176 {
178 Encoding.ThrowConversionOverflow();
179 }
180 }
181 return num;
182 }
static void ThrowLastCharRecursive(int charRecursive)
virtual bool TryGetByteCount(Rune value, out int byteCount)
Definition Encoding.cs:1119

References System.byteCount, System.Text.EncoderFallbackBuffer.encoding, System.Text.EncoderFallbackBuffer.GetNextRune(), System.Text.EncoderFallbackBuffer.InternalReset(), System.Text.Encoding.ThrowConversionOverflow(), System.Text.EncoderFallbackBuffer.ThrowLastCharRecursive(), System.Text.Encoding.TryGetByteCount(), and System.Text.Rune.Value.

Referenced by System.Text.EncoderNLS.DrainLeftoverDataForGetByteCount(), and System.Text.EncoderFallbackBuffer.InternalFallbackGetByteCount().