summaryrefslogtreecommitdiff
path: root/source/tools
diff options
context:
space:
mode:
authorTor Andersson <tor.andersson@artifex.com>2016-05-18 15:44:39 +0200
committerTor Andersson <tor.andersson@artifex.com>2016-05-20 14:31:08 +0200
commit36f41bc1ace9a986d9f021a777c6b9cfe6b62f9c (patch)
treea7e8e4b76a8f54f096f5a7b65153b0e5c16f799e /source/tools
parent0528bc575875c579408ab90bb2c2e3af0750545d (diff)
downloadmupdf-36f41bc1ace9a986d9f021a777c6b9cfe6b62f9c.tar.xz
murun: Add Buffer#writeBuffer to allow for concatenating buffers.
Diffstat (limited to 'source/tools')
-rw-r--r--source/tools/murun.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/source/tools/murun.c b/source/tools/murun.c
index 0adb8bc0..b8a7d991 100644
--- a/source/tools/murun.c
+++ b/source/tools/murun.c
@@ -1497,6 +1497,17 @@ static void ffi_Buffer_writeLine(js_State *J)
rethrow(J);
}
+static void ffi_Buffer_writeBuffer(js_State *J)
+{
+ fz_context *ctx = js_getcontext(J);
+ fz_buffer *buf = js_touserdata(J, 0, "fz_buffer");
+ fz_buffer *cat = js_touserdata(J, 1, "fz_buffer");
+ fz_try(ctx)
+ fz_append_buffer(ctx, buf, cat);
+ fz_catch(ctx)
+ rethrow(J);
+}
+
static void ffi_Buffer_save(js_State *J)
{
fz_context *ctx = js_getcontext(J);
@@ -3054,6 +3065,7 @@ int murun_main(int argc, char **argv)
jsB_propfun(J, "Buffer.writeByte", ffi_Buffer_writeByte, 1);
jsB_propfun(J, "Buffer.writeRune", ffi_Buffer_writeRune, 1);
jsB_propfun(J, "Buffer.writeLine", ffi_Buffer_writeLine, 1);
+ jsB_propfun(J, "Buffer.writeBuffer", ffi_Buffer_writeBuffer, 1);
jsB_propfun(J, "Buffer.write", ffi_Buffer_write, 1);
jsB_propfun(J, "Buffer.save", ffi_Buffer_save, 1);
}