From 6933d36755f90e23308a52c0c3b9c6a4423a9e4c Mon Sep 17 00:00:00 2001 From: Tor Andersson Date: Wed, 28 Dec 2016 13:40:21 +0100 Subject: Make fz_parse_xml take a fz_buffer. Make xps_part contain a fz_buffer. --- source/fitz/image.c | 28 ---------------------------- source/fitz/xml.c | 8 ++++++-- 2 files changed, 6 insertions(+), 30 deletions(-) (limited to 'source/fitz') diff --git a/source/fitz/image.c b/source/fitz/image.c index c7bbb3ad..1c806fcd 100644 --- a/source/fitz/image.c +++ b/source/fitz/image.c @@ -892,34 +892,6 @@ void fz_set_pixmap_image_tile(fz_context *ctx, fz_pixmap_image *image, fz_pixmap ((fz_pixmap_image *)image)->tile = pix; } -fz_image * -fz_new_image_from_data(fz_context *ctx, unsigned char *data, size_t len) -{ - fz_buffer *buffer = NULL; - fz_image *image; - - fz_var(buffer); - fz_var(data); - - fz_try(ctx) - { - buffer = fz_new_buffer_from_data(ctx, data, len); - data = NULL; - image = fz_new_image_from_buffer(ctx, buffer); - } - fz_always(ctx) - { - fz_drop_buffer(ctx, buffer); - } - fz_catch(ctx) - { - fz_free(ctx, data); - fz_rethrow(ctx); - } - - return image; -} - fz_image * fz_new_image_from_buffer(fz_context *ctx, fz_buffer *buffer) { diff --git a/source/fitz/xml.c b/source/fitz/xml.c index d063ee33..a81ab66d 100644 --- a/source/fitz/xml.c +++ b/source/fitz/xml.c @@ -626,14 +626,18 @@ static char *convert_to_utf8(fz_context *doc, unsigned char *s, size_t n, int *d } fz_xml * -fz_parse_xml(fz_context *ctx, unsigned char *s, size_t n, int preserve_white) +fz_parse_xml(fz_context *ctx, fz_buffer *buf, int preserve_white) { struct parser parser; fz_xml root, *node; char *p, *error; int dofree; + unsigned char *s; + size_t n; - /* s is already null-terminated (see xps_new_part) */ + /* ensure we are zero-terminated */ + fz_terminate_buffer(ctx, buf); + n = fz_buffer_storage(ctx, buf, &s); memset(&root, 0, sizeof(root)); parser.head = &root; -- cgit v1.2.3