diff options
author | Tor Andersson <tor.andersson@artifex.com> | 2016-12-28 13:40:21 +0100 |
---|---|---|
committer | Tor Andersson <tor.andersson@artifex.com> | 2017-01-09 13:21:40 +0100 |
commit | 6933d36755f90e23308a52c0c3b9c6a4423a9e4c (patch) | |
tree | d845ac62869d8a09fbf638a2c4bb0953efec1eb7 /source/fitz | |
parent | 7a439812b2226c1e3b203ec603f05b39d159f91e (diff) | |
download | mupdf-6933d36755f90e23308a52c0c3b9c6a4423a9e4c.tar.xz |
Make fz_parse_xml take a fz_buffer. Make xps_part contain a fz_buffer.
Diffstat (limited to 'source/fitz')
-rw-r--r-- | source/fitz/image.c | 28 | ||||
-rw-r--r-- | source/fitz/xml.c | 8 |
2 files changed, 6 insertions, 30 deletions
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 @@ -893,34 +893,6 @@ void fz_set_pixmap_image_tile(fz_context *ctx, fz_pixmap_image *image, fz_pixmap } 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) { fz_compressed_buffer *bc; 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; |