summaryrefslogtreecommitdiff
path: root/source/tools/murun.c
diff options
context:
space:
mode:
authorTor Andersson <tor.andersson@artifex.com>2016-11-09 12:36:01 +0100
committerTor Andersson <tor.andersson@artifex.com>2016-11-14 13:23:57 +0100
commitf0690e5d4c6c6b1ae66b8c0bb3425bb2fbba0b29 (patch)
tree2c0812acaf0f607553504f3abd5f12d840b7b66b /source/tools/murun.c
parent7c6c6a58d58b7df384704e909d34e47454582c15 (diff)
downloadmupdf-f0690e5d4c6c6b1ae66b8c0bb3425bb2fbba0b29.tar.xz
Add optional 'object' argument to pdf_add_stream.
Diffstat (limited to 'source/tools/murun.c')
-rw-r--r--source/tools/murun.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/source/tools/murun.c b/source/tools/murun.c
index 079a8c3c..b1f95d57 100644
--- a/source/tools/murun.c
+++ b/source/tools/murun.c
@@ -3055,14 +3055,16 @@ static void ffi_PDFDocument_addStream(js_State *J)
{
fz_context *ctx = js_getcontext(J);
pdf_document *pdf = js_touserdata(J, 0, "pdf_document");
- fz_buffer *buf = ffi_tobuffer(J, 1);
+ fz_buffer *buf = ffi_tobuffer(J, 1); /* FIXME: leak if ffi_toobj throws */
+ pdf_obj *obj = js_iscoercible(J, 2) ? ffi_toobj(J, pdf, 2) : NULL;
pdf_obj *ind;
fz_try(ctx)
- ind = pdf_add_stream(ctx, pdf, buf);
- fz_always(ctx)
+ ind = pdf_add_stream(ctx, pdf, buf, obj);
+ fz_always(ctx) {
fz_drop_buffer(ctx, buf);
- fz_catch(ctx)
+ pdf_drop_obj(ctx, obj);
+ } fz_catch(ctx)
rethrow(J);
ffi_pushobj(J, ind);