| 402 | } |
| 403 | |
| 404 | void BERGeneralDecoder::Init(byte asnTag) |
| 405 | { |
| 406 | byte b; |
| 407 | if (!m_inQueue.Get(b) || b != asnTag) |
| 408 | BERDecodeError(); |
| 409 | |
| 410 | if (!BERLengthDecode(m_inQueue, m_length, m_definiteLength)) |
| 411 | BERDecodeError(); |
| 412 | |
| 413 | if (!m_definiteLength && !(asnTag & CONSTRUCTED)) |
| 414 | BERDecodeError(); // cannot be primitive and have indefinite length |
| 415 | } |
| 416 | |
| 417 | BERGeneralDecoder::~BERGeneralDecoder() |
| 418 | { |
no test coverage detected