internal int[] GetIndex(int nextIndexOffset) {
int count, indexOffSize;
Seek(nextIndexOffset);
count = GetCard16();
int[] offsets = new int[count+1];
if (count==0) {
offsets[0] = -1;
nextIndexOffset += 2; // TODO death store to local var .. should this be this.nextIndexOffset ?
return offsets;
}
indexOffSize = GetCard8();
for (int j=0; j<=count; j++) {
//nextIndexOffset = ofset to relative segment
offsets[j] = nextIndexOffset
//2-> count in the index header. 1->offset size in index header
+ 2+1
//offset array size * offset size
+ (count+1)*indexOffSize
//???zero <-> one base
- 1
// read object offset relative to object array base
+ GetOffset(indexOffSize);
}
//nextIndexOffset = offsets[count];
return offsets;
}