Fix off by one error in book metadata cache look up tables

This commit is contained in:
Dave Allie 2025-12-24 20:26:35 +10:00
parent a600c1626a
commit 464453ad65
No known key found for this signature in database
GPG Key ID: F2FDDB3AD8D0276F

View File

@ -106,15 +106,17 @@ bool BookMetadataCache::buildBookBin(const std::string& epubPath, const BookMeta
// Loop through spine entries, writing LUT positions // Loop through spine entries, writing LUT positions
spineFile.seek(0); spineFile.seek(0);
for (int i = 0; i < spineCount; i++) { for (int i = 0; i < spineCount; i++) {
auto pos = spineFile.position();
auto spineEntry = readSpineEntry(spineFile); auto spineEntry = readSpineEntry(spineFile);
serialization::writePod(bookFile, spineFile.position() + lutOffset + lutSize); serialization::writePod(bookFile, pos + lutOffset + lutSize);
} }
// Loop through toc entries, writing LUT positions // Loop through toc entries, writing LUT positions
tocFile.seek(0); tocFile.seek(0);
for (int i = 0; i < tocCount; i++) { for (int i = 0; i < tocCount; i++) {
auto pos = tocFile.position();
auto tocEntry = readTocEntry(tocFile); auto tocEntry = readTocEntry(tocFile);
serialization::writePod(bookFile, tocFile.position() + lutOffset + lutSize + spineFile.position()); serialization::writePod(bookFile, pos + lutOffset + lutSize + spineFile.position());
} }
// LUTs complete // LUTs complete