diff options
author | Tor Andersson <tor@ghostscript.com> | 2004-10-06 11:36:25 +0200 |
---|---|---|
committer | Tor Andersson <tor@ghostscript.com> | 2004-10-06 11:36:25 +0200 |
commit | 59bd2f5bfc486b107c4bd689bd65ea7d23e2fad0 (patch) | |
tree | 2331c04f638f4144eb26163d7585f54dd5542876 /test/pdfclean.c | |
parent | 57575cabd50c4fdadb7de8ed5dec5702be7c3954 (diff) | |
download | mupdf-59bd2f5bfc486b107c4bd689bd65ea7d23e2fad0.tar.xz |
hashtable and object store memory bugs
Diffstat (limited to 'test/pdfclean.c')
-rw-r--r-- | test/pdfclean.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/test/pdfclean.c b/test/pdfclean.c index c6af657b..69c51590 100644 --- a/test/pdfclean.c +++ b/test/pdfclean.c @@ -18,6 +18,23 @@ void usage() exit(1); } +void preloadobjstms(pdf_xref *xref) +{ + fz_error *error; + fz_obj *obj; + int i; + + for (i = 0; i < xref->size; i++) + { + if (xref->table[i].type == 'o') + { + error = pdf_loadobject0(&obj, xref, i, 0, nil); + if (error) fz_abort(error); + fz_dropobj(obj); + } + } +} + void expandstreams(pdf_xref *xref) { fz_error *error; @@ -140,7 +157,10 @@ int main(int argc, char **argv) expandstreams(xref); if (dogc) + { + preloadobjstms(xref); pdf_garbagecollect(xref); + } error = pdf_savepdf(xref, outfile, encrypt); if (error) |