From cc0185ba929a38e4038f7ca89c4e7c5923b5c396 Mon Sep 17 00:00:00 2001 From: "Marshall T. Vandegrift" Date: Wed, 31 Dec 2008 09:44:11 -0500 Subject: [PATCH] Fix bugs in generation of uncrossable breaks. --- src/calibre/ebooks/mobi/writer.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/calibre/ebooks/mobi/writer.py b/src/calibre/ebooks/mobi/writer.py index b15254c334..63e15b6484 100644 --- a/src/calibre/ebooks/mobi/writer.py +++ b/src/calibre/ebooks/mobi/writer.py @@ -241,12 +241,13 @@ class MobiWriter(object): record = [data, '\0'] nextra = 0 pbreak = 0 - running = 0 + running = offset while breaks and (breaks[0] - offset) < RECORD_SIZE: pbreak = (breaks.pop(0) - running) >> 3 - record.append(decint(pbreak)) + encoded = decint(pbreak) + record.append(encoded) running += pbreak << 3 - nextra += 1 + nextra += len(encoded) record.append(decint(nextra + 1)) self._records.append(''.join(record)) nrecords += 1