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

◆ ReadTagAndLength()

static Asn1Tag System.Formats.Asn1.AsnDecoder.ReadTagAndLength ( ReadOnlySpan< byte > source,
AsnEncodingRules ruleSet,
out int? contentsLength,
out int bytesRead )
inlinestaticprivate

Definition at line 198 of file AsnDecoder.cs.

199 {
200 int bytesConsumed;
201 Asn1Tag result = Asn1Tag.Decode(source, out bytesConsumed);
202 int bytesConsumed2;
205 if (result.IsConstructed)
206 {
207 if (ruleSet == AsnEncodingRules.CER && num.HasValue)
208 {
209 throw GetValidityException(LengthValidity.CerRequiresIndefinite);
210 }
211 }
212 else if (!num.HasValue)
213 {
214 throw GetValidityException(LengthValidity.PrimitiveEncodingRequiresDefinite);
215 }
216 bytesRead = num2;
217 contentsLength = num;
218 return result;
219 }
static ? int ReadLength(ReadOnlySpan< byte > source, AsnEncodingRules ruleSet, out int bytesConsumed)
static AsnContentException GetValidityException(LengthValidity validity)

References System.Formats.Asn1.Asn1Tag.Decode(), System.Formats.Asn1.AsnDecoder.GetValidityException(), System.Formats.Asn1.Asn1Tag.IsConstructed, System.Formats.Asn1.AsnDecoder.ReadLength(), and System.source.

Referenced by System.Formats.Asn1.AsnDecoder.CopyConstructedOctetString(), System.Formats.Asn1.AsnDecoder.ProcessConstructedBitString(), System.Formats.Asn1.AsnDecoder.ReadSequence(), System.Formats.Asn1.AsnDecoder.ReadSetOf(), System.Formats.Asn1.AsnDecoder.SeekEndOfContents(), System.Formats.Asn1.AsnDecoder.TryReadPrimitiveBitStringCore(), and System.Formats.Asn1.AsnDecoder.TryReadPrimitiveOctetStringCore().