| 5715 | } |
| 5716 | |
| 5717 | const char* DbgModule::GetStringTable(DataStream* stream, int stringTablePos) |
| 5718 | { |
| 5719 | if (mStringTable == NULL) |
| 5720 | { |
| 5721 | int prevPos = stream->GetPos(); |
| 5722 | stream->SetPos(stringTablePos); |
| 5723 | int strTableSize = 0; |
| 5724 | stream->Read(&strTableSize, 4); |
| 5725 | if (strTableSize != 0) |
| 5726 | { |
| 5727 | strTableSize -= 4; |
| 5728 | |
| 5729 | char* strTableData = new char[strTableSize + 4]; |
| 5730 | memcpy(strTableData, &strTableSize, 4); |
| 5731 | stream->Read(strTableData + 4, strTableSize); |
| 5732 | mStringTable = strTableData; |
| 5733 | } |
| 5734 | |
| 5735 | stream->SetPos(prevPos); |
| 5736 | } |
| 5737 | return mStringTable; |
| 5738 | } |
| 5739 | |
| 5740 | bool DbgModule::ReadCOFF(DataStream* stream, DbgModuleKind moduleKind) |
| 5741 | { |