| 581 | } |
| 582 | |
| 583 | uint8* COFF::CvGetTagData(int tagIdx, bool ipi, int* outDataSize) |
| 584 | { |
| 585 | if (tagIdx == 0) |
| 586 | return NULL; |
| 587 | if ((ipi) && (tagIdx < mCvIPIMinTag)) |
| 588 | return NULL; |
| 589 | if ((!ipi) && (tagIdx < mCvMinTag)) |
| 590 | return NULL; |
| 591 | |
| 592 | auto& reader = ipi ? mCvIPIReader : mCvTypeSectionReader; |
| 593 | int offset = ipi ? mCvIPITagStartMap[tagIdx - mCvIPIMinTag] : mCvTagStartMap[tagIdx - mCvMinTag]; |
| 594 | |
| 595 | uint8* data = reader.GetTempPtr(offset, 4); |
| 596 | uint16 trLength = *(uint16*)data; |
| 597 | data = reader.GetTempPtr(offset + 2, trLength, true); |
| 598 | |
| 599 | if (outDataSize != NULL) |
| 600 | *outDataSize = trLength; |
| 601 | |
| 602 | return data; |
| 603 | } |
| 604 | |
| 605 | int64 COFF::CvParseConstant(uint16 constVal, uint8*& data) |
| 606 | { |
nothing calls this directly
no test coverage detected