268 |
void Info::LoadString(uint32_t ChunkID, RIFF::List* lstINFO, String& s) { |
void Info::LoadString(uint32_t ChunkID, RIFF::List* lstINFO, String& s) { |
269 |
RIFF::Chunk* ck = lstINFO->GetSubChunk(ChunkID); |
RIFF::Chunk* ck = lstINFO->GetSubChunk(ChunkID); |
270 |
if (ck) { |
if (ck) { |
271 |
// TODO: no check for ZSTR terminated strings yet |
const char* str = (char*)ck->LoadChunkData(); |
272 |
s.assign((char*) ck->LoadChunkData(), ck->GetSize()); |
int size = ck->GetSize(); |
273 |
|
int len; |
274 |
|
for (len = 0 ; len < size ; len++) |
275 |
|
if (str[len] == '\0') break; |
276 |
|
s.assign(str, len); |
277 |
ck->ReleaseChunkData(); |
ck->ReleaseChunkData(); |
278 |
} |
} |
279 |
} |
} |