summaryrefslogtreecommitdiff
path: root/fitz
diff options
context:
space:
mode:
authorTor Andersson <tor@ghostscript.com>2010-07-30 11:57:31 +0000
committerTor Andersson <tor@ghostscript.com>2010-07-30 11:57:31 +0000
commit4f49317deff939df854a8d9fecd7502cf2b4c9b2 (patch)
tree58f3b921bb557572a7c7931b91a30a8e7a539d6e /fitz
parent39ebb88a7bed4d0963895debb80a7462530e4c91 (diff)
downloadmupdf-4f49317deff939df854a8d9fecd7502cf2b4c9b2.tar.xz
Make an educated guess at the stream length by looking at the filters used in pdf_loadstream.
Diffstat (limited to 'fitz')
-rw-r--r--fitz/fitz.h2
-rw-r--r--fitz/stm_read.c7
2 files changed, 6 insertions, 3 deletions
diff --git a/fitz/fitz.h b/fitz/fitz.h
index 1af70f6a..44f1c070 100644
--- a/fitz/fitz.h
+++ b/fitz/fitz.h
@@ -501,7 +501,7 @@ void fz_seek(fz_stream *stm, int offset, int whence);
int fz_read(fz_stream *stm, unsigned char *buf, int len);
void fz_readline(fz_stream *stm, char *buf, int max);
-fz_error fz_readall(fz_buffer **bufp, fz_stream *stm);
+fz_error fz_readall(fz_buffer **bufp, fz_stream *stm, int initial);
static inline int fz_readbyte(fz_stream *stm)
{
diff --git a/fitz/stm_read.c b/fitz/stm_read.c
index 3bdddade..fb251214 100644
--- a/fitz/stm_read.c
+++ b/fitz/stm_read.c
@@ -55,12 +55,15 @@ fz_fillbuffer(fz_stream *stm)
}
fz_error
-fz_readall(fz_buffer **bufp, fz_stream *stm)
+fz_readall(fz_buffer **bufp, fz_stream *stm, int initial)
{
fz_buffer *buf;
int n;
- buf = fz_newbuffer(16 * 1024);
+ if (initial < 1024)
+ initial = 1024;
+
+ buf = fz_newbuffer(initial);
while (1)
{