summaryrefslogtreecommitdiff
path: root/apps/pdfdraw.c
diff options
context:
space:
mode:
authorTor Andersson <tor@ghostscript.com>2010-04-24 20:43:34 +0200
committerTor Andersson <tor@ghostscript.com>2010-04-24 20:43:34 +0200
commiteac58058a2ff46fda09fd9e28f9ad908b79d2031 (patch)
tree8043290173073616bb524edc1740ad2dbddd40c4 /apps/pdfdraw.c
parent7884b0e64811d129986e25da898debfa1e0aa2e8 (diff)
downloadmupdf-eac58058a2ff46fda09fd9e28f9ad908b79d2031.tar.xz
Fix memory leaks when running pdfdraw in text extraction mode.
Diffstat (limited to 'apps/pdfdraw.c')
-rw-r--r--apps/pdfdraw.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/apps/pdfdraw.c b/apps/pdfdraw.c
index b65341d2..62fc851c 100644
--- a/apps/pdfdraw.c
+++ b/apps/pdfdraw.c
@@ -271,18 +271,14 @@ static void drawpnm(int pagenum, struct benchmark *loadtimes, struct benchmark *
fprintf(stdout, "\n");
}
-static void drawtxt(int pagenum)
+static void drawtxt(int pagenum, struct benchmark *loadtimes)
{
fz_error error;
fz_matrix ctm;
- fz_obj *pageobj;
fz_textspan *text;
fz_device *dev;
- pageobj = pdf_getpageobject(xref, pagenum);
- error = pdf_loadpage(&drawpage, xref, pageobj);
- if (error)
- die(error);
+ drawloadpage(pagenum, loadtimes);
ctm = fz_identity();
@@ -300,6 +296,8 @@ static void drawtxt(int pagenum)
printf("\n");
fz_freetextspan(text);
+
+ drawfreepage();
}
static void drawxml(int pagenum)
@@ -377,7 +375,7 @@ static void drawpages(char *pagelist)
switch (drawmode)
{
case DRAWPNM: drawpnm(page, &loadtimes, &drawtimes); break;
- case DRAWTXT: drawtxt(page); break;
+ case DRAWTXT: drawtxt(page, &loadtimes); break;
case DRAWXML: drawxml(page); break;
}
}