Hey again,

patch is updated.

Of course i need to resize the buffer that the pdf is read into, not just make the part bigger that is read from the file. That was pure oversight on my part, sorry about that.


Greetings,

Dennis

Index: src/podofo/base/PdfParser.cpp
===================================================================
--- src/podofo/base/PdfParser.cpp       (revision 1998)
+++ src/podofo/base/PdfParser.cpp       (working copy)
@@ -1340,7 +1340,14 @@
                 "Failed to seek to EOF when looking for xref");
     }
 
-    pdf_long lXRefBuf  = PDF_MIN( static_cast<pdf_long>(nFileSize), 
static_cast<pdf_long>(lRange) );
+    pdf_long lXRefBuf;
+    if (strncmp(pszToken, "trailer", 6) == 0) {
+        lXRefBuf = PDF_MIN(static_cast<pdf_long>(nFileSize), 
static_cast<pdf_long>(nFileSize - m_nXRefOffset));
+               m_buffer.Resize(lXRefBuf);
+    }
+    else {
+        lXRefBuf = PDF_MIN(static_cast<pdf_long>(nFileSize), 
static_cast<pdf_long>(lRange));
+    }
     size_t   nTokenLen = strlen( pszToken );
 
     m_device.Device()->Seek( -lXRefBuf, std::ios_base::cur );
_______________________________________________
Podofo-users mailing list
Podofo-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/podofo-users

Reply via email to