From 7d5ff30c37c9e5b271fdb2b8cb3219068048322e Mon Sep 17 00:00:00 2001 From: Robin Watts Date: Thu, 14 May 2015 17:12:42 +0100 Subject: Support pdf files larger than 2Gig. If FZ_LARGEFILE is defined when building, MuPDF uses 64bit offsets for files; this allows us to open streams larger than 2Gig. The downsides to this are that: * The xref entries are larger. * All PDF ints are held as 64bit things rather than 32bit things (to cope with /Prev entries, hint stream offsets etc). * All file positions are stored as 64bits rather than 32. The implementation works by detecting FZ_LARGEFILE. Some #ifdeffery in fitz/system.h sets fz_off_t to either int or int64_t as appropriate, and sets defines for fz_fopen, fz_fseek, fz_ftell etc as required. These call the fseeko64 etc functions on linux (and so define _LARGEFILE64_SOURCE) and the explicit 64bit functions on windows. --- scripts/cmapdump.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'scripts') diff --git a/scripts/cmapdump.c b/scripts/cmapdump.c index 3c4540e9..ed4a4111 100644 --- a/scripts/cmapdump.c +++ b/scripts/cmapdump.c @@ -1,11 +1,14 @@ /* cmapdump.c -- parse a CMap file and dump it as a c-struct */ -#include -#include - /* We never want to build memento versions of the cmapdump util */ #undef MEMENTO +/* We never want large file access here */ +#undef FZ_LARGEFILE + +#include +#include + #include "mupdf/pdf.h" #include "../source/fitz/context.c" -- cgit v1.2.3