diff options
author | Sebastian Rasmussen <sebras@gmail.com> | 2012-08-04 19:35:39 +0200 |
---|---|---|
committer | Sebastian Rasmussen <sebras@gmail.com> | 2012-08-06 13:59:30 +0200 |
commit | ffb37aaa386095d61846419c860eb46b587b6b1d (patch) | |
tree | 313e382bf77e57062bebd26bfc5ae1dc656eb11e /xps/xps_outline.c | |
parent | d44c98001b404a18ccc9d219976b9f32c28922c3 (diff) | |
download | mupdf-ffb37aaa386095d61846419c860eb46b587b6b1d.tar.xz |
Make use of fz_always instead of repeating code for error and normal path
Diffstat (limited to 'xps/xps_outline.c')
-rw-r--r-- | xps/xps_outline.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/xps/xps_outline.c b/xps/xps_outline.c index 0feb7b24..21dc0710 100644 --- a/xps/xps_outline.c +++ b/xps/xps_outline.c @@ -88,12 +88,14 @@ xps_load_document_structure(xps_document *doc, xps_fixdoc *fixdoc) { root = xml_parse_document(doc->ctx, part->data, part->size); } - fz_catch(doc->ctx) + fz_always(doc->ctx) { xps_free_part(doc, part); + } + fz_catch(doc->ctx) + { fz_rethrow(doc->ctx); } - xps_free_part(doc, part); if (!root) return NULL; @@ -101,12 +103,14 @@ xps_load_document_structure(xps_document *doc, xps_fixdoc *fixdoc) { outline = xps_parse_document_structure(doc, root); } - fz_catch(doc->ctx) + fz_always(doc->ctx) { xml_free_element(doc->ctx, root); + } + fz_catch(doc->ctx) + { fz_rethrow(doc->ctx); } - xml_free_element(doc->ctx, root); return outline; } |