uint32_t member_count = *reinterpret_cast<const support::ulittle32_t*>(buf);
const char *offsets = buf + 4;
buf += 4 + (member_count * 4); // Skip offsets.
- uint32_t symbol_count = *reinterpret_cast<const support::ulittle32_t*>(buf);
const char *indicies = buf + 4;
uint16_t offsetindex =
Archive::Symbol Archive::Symbol::getNext() const {
Symbol t(*this);
- const char *buf = Parent->SymbolTable->getBuffer()->getBufferStart();
- buf += t.StringIndex;
- while (*buf++); // Go to one past next null.
- t.StringIndex = buf - Parent->SymbolTable->getBuffer()->getBufferStart();
+ // Go to one past next null.
+ t.StringIndex =
+ Parent->SymbolTable->getBuffer()->getBuffer().find('\0', t.StringIndex) + 1;
++t.SymbolIndex;
return t;
}