summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/mupdf/fitz/context.h1
-rw-r--r--source/fitz/colorspace.c2
-rw-r--r--source/fitz/error.c25
-rw-r--r--source/fitz/load-gif.c8
-rw-r--r--source/fitz/load-jpx.c2
-rw-r--r--source/fitz/load-png.c2
-rw-r--r--source/fitz/load-tiff.c6
-rw-r--r--source/pdf/pdf-clean.c6
-rw-r--r--source/pdf/pdf-cmap-load.c57
-rw-r--r--source/pdf/pdf-cmap-parse.c2
-rw-r--r--source/pdf/pdf-colorspace.c4
-rw-r--r--source/pdf/pdf-crypt.c2
-rw-r--r--source/pdf/pdf-font.c24
-rw-r--r--source/pdf/pdf-function.c11
-rw-r--r--source/pdf/pdf-interpret.c4
-rw-r--r--source/pdf/pdf-op-run.c2
-rw-r--r--source/pdf/pdf-page.c2
-rw-r--r--source/pdf/pdf-parse.c6
-rw-r--r--source/pdf/pdf-pattern.c2
-rw-r--r--source/pdf/pdf-repair.c4
-rw-r--r--source/pdf/pdf-resources.c4
-rw-r--r--source/pdf/pdf-shade.c3
-rw-r--r--source/pdf/pdf-stream.c2
-rw-r--r--source/pdf/pdf-type3.c2
-rw-r--r--source/pdf/pdf-write.c2
-rw-r--r--source/pdf/pdf-xobject.c4
-rw-r--r--source/pdf/pdf-xref.c35
-rw-r--r--source/tools/mjsgen.c14
-rw-r--r--source/tools/mudraw.c16
-rw-r--r--source/xps/xps-zip.c2
30 files changed, 80 insertions, 176 deletions
diff --git a/include/mupdf/fitz/context.h b/include/mupdf/fitz/context.h
index 789efc0a..449ed368 100644
--- a/include/mupdf/fitz/context.h
+++ b/include/mupdf/fitz/context.h
@@ -74,7 +74,6 @@ void fz_var_imp(void *);
int fz_push_try(fz_context *ctx);
FZ_NORETURN void fz_throw(fz_context *ctx, int errcode, const char *, ...) __printflike(3, 4);
FZ_NORETURN void fz_rethrow(fz_context *ctx);
-FZ_NORETURN void fz_rethrow_message(fz_context *ctx, const char *fmt, ...) __printflike(2, 3);
void fz_warn(fz_context *ctx, const char *fmt, ...) __printflike(2, 3);
const char *fz_caught_message(fz_context *ctx);
int fz_caught(fz_context *ctx);
diff --git a/source/fitz/colorspace.c b/source/fitz/colorspace.c
index d24aad5e..f697cd44 100644
--- a/source/fitz/colorspace.c
+++ b/source/fitz/colorspace.c
@@ -1239,7 +1239,7 @@ fz_new_indexed_colorspace(fz_context *ctx, fz_colorspace *base, int high, unsign
fz_catch(ctx)
{
fz_free(ctx, idx);
- fz_rethrow_message(ctx, "failed to create indexed colorspace");
+ fz_rethrow(ctx);
}
return cs;
}
diff --git a/source/fitz/error.c b/source/fitz/error.c
index f3c5973d..6330b4ec 100644
--- a/source/fitz/error.c
+++ b/source/fitz/error.c
@@ -184,31 +184,6 @@ void fz_rethrow(fz_context *ctx)
throw(ctx);
}
-void fz_rethrow_message(fz_context *ctx, const char *fmt, ...)
-{
- va_list args;
-
- assert(ctx && ctx->error && ctx->error->errcode >= FZ_ERROR_NONE);
-
- va_start(args, fmt);
- vsnprintf(ctx->error->message, sizeof ctx->error->message, fmt, args);
- va_end(args);
-
- if (ctx->error->errcode != FZ_ERROR_ABORT)
- {
- fz_flush_warnings(ctx);
- fprintf(stderr, "error: %s\n", ctx->error->message);
- LOGE("error: %s\n", ctx->error->message);
-#ifdef USE_OUTPUT_DEBUG_STRING
- OutputDebugStringA("error: ");
- OutputDebugStringA(ctx->error->message);
- OutputDebugStringA("\n");
-#endif
- }
-
- throw(ctx);
-}
-
void fz_rethrow_if(fz_context *ctx, int err)
{
assert(ctx && ctx->error && ctx->error->errcode >= FZ_ERROR_NONE);
diff --git a/source/fitz/load-gif.c b/source/fitz/load-gif.c
index 97b7a16a..46b2ba66 100644
--- a/source/fitz/load-gif.c
+++ b/source/fitz/load-gif.c
@@ -280,7 +280,7 @@ gif_read_tbid(fz_context *ctx, struct info *info, unsigned char *dest, unsigned
}
fz_catch(ctx)
{
- fz_rethrow_message(ctx, "cannot read compressed table based image data in gif image");
+ fz_rethrow(ctx);
}
return p;
@@ -310,7 +310,7 @@ gif_read_ce(fz_context *ctx, struct info *info, unsigned char *p, unsigned char
}
fz_catch(ctx)
{
- fz_rethrow_message(ctx, "cannot read comment extension text in gif image");
+ fz_rethrow(ctx);
}
return p;
@@ -330,7 +330,7 @@ gif_read_pte(fz_context *ctx, struct info *info, unsigned char *p, unsigned char
}
fz_catch(ctx)
{
- fz_rethrow_message(ctx, "cannot read plain text extension text in gif image");
+ fz_rethrow(ctx);
}
return p;
@@ -393,7 +393,7 @@ gif_read_ae(fz_context *ctx, struct info *info, unsigned char *p, unsigned char
}
fz_catch(ctx)
{
- fz_rethrow_message(ctx, "cannot read application extension data in gif image");
+ fz_rethrow(ctx);
}
return p;
diff --git a/source/fitz/load-jpx.c b/source/fitz/load-jpx.c
index 7327a6bf..3ea7775c 100644
--- a/source/fitz/load-jpx.c
+++ b/source/fitz/load-jpx.c
@@ -209,7 +209,7 @@ fz_load_jpx(fz_context *ctx, unsigned char *data, int size, fz_colorspace *defcs
fz_catch(ctx)
{
opj_image_destroy(jpx);
- fz_rethrow_message(ctx, "out of memory loading jpx");
+ fz_rethrow(ctx);
}
p = img->samples;
diff --git a/source/fitz/load-png.c b/source/fitz/load-png.c
index 41529f22..33979d4c 100644
--- a/source/fitz/load-png.c
+++ b/source/fitz/load-png.c
@@ -573,7 +573,7 @@ fz_load_png(fz_context *ctx, unsigned char *p, int total)
fz_catch(ctx)
{
fz_free(ctx, png.samples);
- fz_rethrow_message(ctx, "out of memory loading png");
+ fz_rethrow(ctx);
}
image->xres = png.xres;
diff --git a/source/fitz/load-tiff.c b/source/fitz/load-tiff.c
index 16d9908e..819ed7fd 100644
--- a/source/fitz/load-tiff.c
+++ b/source/fitz/load-tiff.c
@@ -882,7 +882,7 @@ fz_load_tiff_subimage(fz_context *ctx, unsigned char *buf, int len, int subimage
}
fz_catch(ctx)
{
- fz_rethrow_message(ctx, "out of memory loading tiff");
+ fz_rethrow(ctx);
}
return image;
@@ -922,7 +922,7 @@ fz_load_tiff_info_subimage(fz_context *ctx, unsigned char *buf, int len, int *wp
}
fz_catch(ctx)
{
- fz_rethrow_message(ctx, "out of memory loading tiff");
+ fz_rethrow(ctx);
}
}
@@ -952,7 +952,7 @@ fz_load_tiff_subimage_count(fz_context *ctx, unsigned char *buf, int len)
}
fz_catch(ctx)
{
- fz_rethrow_message(ctx, "error while counting subimages in tiff");
+ fz_rethrow(ctx);
}
return subimage_count;
diff --git a/source/pdf/pdf-clean.c b/source/pdf/pdf-clean.c
index ecadc7f2..49db6bc3 100644
--- a/source/pdf/pdf-clean.c
+++ b/source/pdf/pdf-clean.c
@@ -53,7 +53,7 @@ pdf_clean_stream_object(fz_context *ctx, pdf_document *doc, pdf_obj *obj, pdf_ob
}
fz_catch(ctx)
{
- fz_rethrow_message(ctx, "Failed while cleaning xobject");
+ fz_rethrow(ctx);
}
}
@@ -122,7 +122,7 @@ pdf_clean_type3(fz_context *ctx, pdf_document *doc, pdf_obj *obj, pdf_obj *orig_
}
fz_catch(ctx)
{
- fz_rethrow_message(ctx, "Failed while cleaning xobject");
+ fz_rethrow(ctx);
}
}
@@ -284,7 +284,7 @@ void pdf_clean_page_contents(fz_context *ctx, pdf_document *doc, pdf_page *page,
}
fz_catch(ctx)
{
- fz_rethrow_message(ctx, "Failed while cleaning page");
+ fz_rethrow(ctx);
}
}
diff --git a/source/pdf/pdf-cmap-load.c b/source/pdf/pdf-cmap-load.c
index 159c4e6f..525c0dc1 100644
--- a/source/pdf/pdf-cmap-load.c
+++ b/source/pdf/pdf-cmap-load.c
@@ -22,74 +22,57 @@ pdf_load_embedded_cmap(fz_context *ctx, pdf_document *doc, pdf_obj *stmobj)
{
fz_stream *file = NULL;
pdf_cmap *cmap = NULL;
- pdf_cmap *usecmap;
- pdf_obj *wmode;
- pdf_obj *obj = NULL;
- int phase = 0;
+ pdf_cmap *usecmap = NULL;
+ pdf_obj *obj;
- fz_var(phase);
- fz_var(obj);
fz_var(file);
fz_var(cmap);
+ fz_var(usecmap);
if (pdf_obj_marked(ctx, stmobj))
fz_throw(ctx, FZ_ERROR_GENERIC, "Recursion in embedded cmap");
if ((cmap = pdf_find_item(ctx, pdf_drop_cmap_imp, stmobj)) != NULL)
- {
return cmap;
- }
fz_try(ctx)
{
file = pdf_open_stream(ctx, doc, pdf_to_num(ctx, stmobj), pdf_to_gen(ctx, stmobj));
- phase = 1;
cmap = pdf_load_cmap(ctx, file);
- phase = 2;
- fz_drop_stream(ctx, file);
- file = NULL;
- wmode = pdf_dict_get(ctx, stmobj, PDF_NAME_WMode);
- if (pdf_is_int(ctx, wmode))
- pdf_set_cmap_wmode(ctx, cmap, pdf_to_int(ctx, wmode));
+ obj = pdf_dict_get(ctx, stmobj, PDF_NAME_WMode);
+ if (pdf_is_int(ctx, obj))
+ pdf_set_cmap_wmode(ctx, cmap, pdf_to_int(ctx, obj));
+
obj = pdf_dict_get(ctx, stmobj, PDF_NAME_UseCMap);
if (pdf_is_name(ctx, obj))
{
usecmap = pdf_load_system_cmap(ctx, pdf_to_name(ctx, obj));
pdf_set_usecmap(ctx, cmap, usecmap);
- pdf_drop_cmap(ctx, usecmap);
}
else if (pdf_is_indirect(ctx, obj))
{
- phase = 3;
pdf_mark_obj(ctx, obj);
- usecmap = pdf_load_embedded_cmap(ctx, doc, obj);
- pdf_unmark_obj(ctx, obj);
- phase = 4;
+ fz_try(ctx)
+ usecmap = pdf_load_embedded_cmap(ctx, doc, obj);
+ fz_always(ctx)
+ pdf_unmark_obj(ctx, obj);
+ fz_catch(ctx)
+ fz_rethrow(ctx);
pdf_set_usecmap(ctx, cmap, usecmap);
- pdf_drop_cmap(ctx, usecmap);
}
pdf_store_item(ctx, stmobj, cmap, pdf_cmap_size(ctx, cmap));
}
+ fz_always(ctx)
+ {
+ fz_drop_stream(ctx, file);
+ pdf_drop_cmap(ctx, usecmap);
+ }
fz_catch(ctx)
{
- if (file)
- fz_drop_stream(ctx, file);
- if (cmap)
- pdf_drop_cmap(ctx, cmap);
- if (phase < 1)
- fz_rethrow_message(ctx, "cannot open cmap stream (%d %d R)", pdf_to_num(ctx, stmobj), pdf_to_gen(ctx, stmobj));
- else if (phase < 2)
- fz_rethrow_message(ctx, "cannot parse cmap stream (%d %d R)", pdf_to_num(ctx, stmobj), pdf_to_gen(ctx, stmobj));
- else if (phase < 3)
- fz_rethrow_message(ctx, "cannot load system usecmap '%s'", pdf_to_name(ctx, obj));
- else
- {
- if (phase == 3)
- pdf_unmark_obj(ctx, obj);
- fz_rethrow_message(ctx, "cannot load embedded usecmap (%d %d R)", pdf_to_num(ctx, obj), pdf_to_gen(ctx, obj));
- }
+ pdf_drop_cmap(ctx, cmap);
+ fz_rethrow(ctx);
}
return cmap;
diff --git a/source/pdf/pdf-cmap-parse.c b/source/pdf/pdf-cmap-parse.c
index c502ffe5..6237629d 100644
--- a/source/pdf/pdf-cmap-parse.c
+++ b/source/pdf/pdf-cmap-parse.c
@@ -337,7 +337,7 @@ pdf_load_cmap(fz_context *ctx, fz_stream *file)
fz_catch(ctx)
{
pdf_drop_cmap(ctx, cmap);
- fz_rethrow_message(ctx, "syntaxerror in cmap");
+ fz_rethrow(ctx);
}
return cmap;
diff --git a/source/pdf/pdf-colorspace.c b/source/pdf/pdf-colorspace.c
index 321b224b..51acbca2 100644
--- a/source/pdf/pdf-colorspace.c
+++ b/source/pdf/pdf-colorspace.c
@@ -220,12 +220,12 @@ load_indexed(fz_context *ctx, pdf_document *doc, pdf_obj *array)
}
fz_catch(ctx)
{
- fz_rethrow_message(ctx, "cannot open colorspace lookup table (%d 0 R)", pdf_to_num(ctx, lookupobj));
+ fz_rethrow(ctx);
}
}
else
{
- fz_rethrow_message(ctx, "cannot parse colorspace lookup table");
+ fz_rethrow(ctx);
}
cs = fz_new_indexed_colorspace(ctx, base, high, lookup);
diff --git a/source/pdf/pdf-crypt.c b/source/pdf/pdf-crypt.c
index f98daa2e..bff6510f 100644
--- a/source/pdf/pdf-crypt.c
+++ b/source/pdf/pdf-crypt.c
@@ -258,7 +258,7 @@ pdf_new_crypt(fz_context *ctx, pdf_obj *dict, pdf_obj *id)
fz_catch(ctx)
{
pdf_drop_crypt(ctx, crypt);
- fz_rethrow_message(ctx, "cannot parse string crypt filter (%d %d R)", pdf_to_num(ctx, obj), pdf_to_gen(ctx, obj));
+ fz_rethrow(ctx);
}
/* in crypt revision 4, the crypt filter determines the key length */
diff --git a/source/pdf/pdf-font.c b/source/pdf/pdf-font.c
index be6644c2..aa9a9d2f 100644
--- a/source/pdf/pdf-font.c
+++ b/source/pdf/pdf-font.c
@@ -354,29 +354,15 @@ pdf_load_embedded_font(fz_context *ctx, pdf_document *doc, pdf_font_desc *fontde
{
fz_buffer *buf;
+ buf = pdf_load_stream(ctx, doc, pdf_to_num(ctx, stmref), pdf_to_gen(ctx, stmref));
fz_try(ctx)
- {
- buf = pdf_load_stream(ctx, doc, pdf_to_num(ctx, stmref), pdf_to_gen(ctx, stmref));
- }
- fz_catch(ctx)
- {
- fz_rethrow_message(ctx, "cannot load font stream (%d %d R)", pdf_to_num(ctx, stmref), pdf_to_gen(ctx, stmref));
- }
-
- fz_try(ctx)
- {
fontdesc->font = fz_new_font_from_buffer(ctx, fontname, buf, 0, 1);
- }
fz_always(ctx)
- {
fz_drop_buffer(ctx, buf);
- }
fz_catch(ctx)
- {
- fz_rethrow_message(ctx, "cannot load embedded font (%d %d R)", pdf_to_num(ctx, stmref), pdf_to_gen(ctx, stmref));
- }
- fontdesc->size += buf->len;
+ fz_rethrow(ctx);
+ fontdesc->size += buf->len;
fontdesc->is_embedded = 1;
}
@@ -808,7 +794,7 @@ pdf_load_simple_font_by_name(fz_context *ctx, pdf_document *doc, pdf_obj *dict,
if (fontdesc && etable != fontdesc->cid_to_gid)
fz_free(ctx, etable);
pdf_drop_font(ctx, fontdesc);
- fz_rethrow_message(ctx, "cannot load simple font (%d %d R)", pdf_to_num(ctx, dict), pdf_to_gen(ctx, dict));
+ fz_rethrow(ctx);
}
return fontdesc;
}
@@ -1120,7 +1106,7 @@ load_cid_font(fz_context *ctx, pdf_document *doc, pdf_obj *dict, pdf_obj *encodi
fz_catch(ctx)
{
pdf_drop_font(ctx, fontdesc);
- fz_rethrow_message(ctx, "cannot load cid font (%d %d R)", pdf_to_num(ctx, dict), pdf_to_gen(ctx, dict));
+ fz_rethrow(ctx);
}
return fontdesc;
diff --git a/source/pdf/pdf-function.c b/source/pdf/pdf-function.c
index 2804f952..979e9ec9 100644
--- a/source/pdf/pdf-function.c
+++ b/source/pdf/pdf-function.c
@@ -869,7 +869,7 @@ load_postscript_func(fz_context *ctx, pdf_document *doc, pdf_function *func, pdf
}
fz_catch(ctx)
{
- fz_rethrow_message(ctx, "cannot parse calculator function (%d %d R)", num, gen);
+ fz_rethrow(ctx);
}
func->base.size += func->u.p.cap * sizeof(psobj);
@@ -1684,15 +1684,8 @@ pdf_load_function(fz_context *ctx, pdf_document *doc, pdf_obj *dict, int in, int
}
fz_catch(ctx)
{
- int type = func->type;
fz_drop_function(ctx, (fz_function *)func);
- fz_rethrow_message(ctx, "cannot load %s function (%d %d R)",
- type == SAMPLE ? "sampled" :
- type == EXPONENTIAL ? "exponential" :
- type == STITCHING ? "stitching" :
- type == POSTSCRIPT ? "calculator" :
- "unknown",
- pdf_to_num(ctx, dict), pdf_to_gen(ctx, dict));
+ fz_rethrow(ctx);
}
return (fz_function *)func;
diff --git a/source/pdf/pdf-interpret.c b/source/pdf/pdf-interpret.c
index cff3f197..f037ae22 100644
--- a/source/pdf/pdf-interpret.c
+++ b/source/pdf/pdf-interpret.c
@@ -1226,7 +1226,7 @@ pdf_process_contents(fz_context *ctx, pdf_processor *proc, pdf_document *doc, pd
fz_catch(ctx)
{
fz_rethrow_if(ctx, FZ_ERROR_ABORT);
- fz_rethrow_message(ctx, "cannot parse content stream");
+ fz_rethrow(ctx);
}
}
@@ -1293,6 +1293,6 @@ pdf_process_glyph(fz_context *ctx, pdf_processor *proc, pdf_document *doc, pdf_o
fz_catch(ctx)
{
fz_rethrow_if(ctx, FZ_ERROR_ABORT);
- fz_rethrow_message(ctx, "cannot parse glyph content stream");
+ fz_rethrow(ctx);
}
}
diff --git a/source/pdf/pdf-op-run.c b/source/pdf/pdf-op-run.c
index 593afe24..012b5054 100644
--- a/source/pdf/pdf-op-run.c
+++ b/source/pdf/pdf-op-run.c
@@ -479,7 +479,7 @@ pdf_show_pattern(fz_context *ctx, pdf_run_processor *pr, pdf_pattern *pat, pdf_g
fz_always(ctx)
pdf_grestore(ctx, pr);
fz_catch(ctx)
- fz_rethrow_message(ctx, "cannot render pattern tile");
+ fz_rethrow(ctx);
}
}
}
diff --git a/source/pdf/pdf-page.c b/source/pdf/pdf-page.c
index 45482c6e..088cf0d2 100644
--- a/source/pdf/pdf-page.c
+++ b/source/pdf/pdf-page.c
@@ -592,7 +592,7 @@ pdf_load_page(fz_context *ctx, pdf_document *doc, int number)
if (fz_caught(ctx) != FZ_ERROR_TRYLATER)
{
fz_drop_page(ctx, &page->super);
- fz_rethrow_message(ctx, "cannot load page %d contents (%d 0 R)", number + 1, pdf_to_num(ctx, pageref));
+ fz_rethrow(ctx);
}
page->incomplete |= PDF_PAGE_INCOMPLETE_CONTENTS;
}
diff --git a/source/pdf/pdf-parse.c b/source/pdf/pdf-parse.c
index 3761e3ce..ddfd5fff 100644
--- a/source/pdf/pdf-parse.c
+++ b/source/pdf/pdf-parse.c
@@ -398,7 +398,7 @@ end:
{
pdf_drop_obj(ctx, obj);
pdf_drop_obj(ctx, ary);
- fz_rethrow_message(ctx, "cannot parse array");
+ fz_rethrow(ctx);
}
return op;
}
@@ -497,7 +497,7 @@ pdf_parse_dict(fz_context *ctx, pdf_document *doc, fz_stream *file, pdf_lexbuf *
pdf_drop_obj(ctx, dict);
pdf_drop_obj(ctx, key);
pdf_drop_obj(ctx, val);
- fz_rethrow_message(ctx, "cannot parse dict");
+ fz_rethrow(ctx);
}
return dict;
}
@@ -620,7 +620,7 @@ pdf_parse_ind_obj(fz_context *ctx, pdf_document *doc,
fz_catch(ctx)
{
pdf_drop_obj(ctx, obj);
- fz_rethrow_message(ctx, "cannot parse indirect object (%d %d R)", num, gen);
+ fz_rethrow(ctx);
}
skip:
diff --git a/source/pdf/pdf-pattern.c b/source/pdf/pdf-pattern.c
index c23ef283..0e4910f3 100644
--- a/source/pdf/pdf-pattern.c
+++ b/source/pdf/pdf-pattern.c
@@ -76,7 +76,7 @@ pdf_load_pattern(fz_context *ctx, pdf_document *doc, pdf_obj *dict)
{
pdf_remove_item(ctx, pdf_drop_pattern_imp, dict);
pdf_drop_pattern(ctx, pat);
- fz_rethrow_message(ctx, "cannot load pattern (%d %d R)", pdf_to_num(ctx, dict), pdf_to_gen(ctx, dict));
+ fz_rethrow(ctx);
}
return pat;
}
diff --git a/source/pdf/pdf-repair.c b/source/pdf/pdf-repair.c
index fdd46483..af886d6d 100644
--- a/source/pdf/pdf-repair.c
+++ b/source/pdf/pdf-repair.c
@@ -59,7 +59,7 @@ pdf_repair_obj(fz_context *ctx, pdf_document *doc, pdf_lexbuf *buf, fz_off_t *st
fz_rethrow_if(ctx, FZ_ERROR_TRYLATER);
/* Don't let a broken object at EOF overwrite a good one */
if (file->eof)
- fz_rethrow_message(ctx, "broken object at EOF ignored");
+ fz_rethrow(ctx);
/* Silently swallow the error */
dict = pdf_new_dict(ctx, NULL, 2);
}
@@ -255,7 +255,7 @@ pdf_repair_obj_stm(fz_context *ctx, pdf_document *doc, int num, int gen)
}
fz_catch(ctx)
{
- fz_rethrow_message(ctx, "cannot load object stream object (%d %d R)", num, gen);
+ fz_rethrow(ctx);
}
}
diff --git a/source/pdf/pdf-resources.c b/source/pdf/pdf-resources.c
index 826b464b..4fae6c87 100644
--- a/source/pdf/pdf-resources.c
+++ b/source/pdf/pdf-resources.c
@@ -84,7 +84,7 @@ res_image_init(fz_context *ctx, pdf_document *doc, pdf_res_table *table)
fz_catch(ctx)
{
res_table_free(ctx, table);
- fz_rethrow_message(ctx, "cannot initialize image resource table");
+ fz_rethrow(ctx);
}
}
@@ -203,6 +203,6 @@ pdf_init_resource_tables(fz_context *ctx, pdf_document *doc)
fz_catch(ctx)
{
pdf_drop_resource_tables(ctx, doc);
- fz_rethrow_message(ctx, "cannot allocate resource tables");
+ fz_rethrow(ctx);
}
}
diff --git a/source/pdf/pdf-shade.c b/source/pdf/pdf-shade.c
index 94b87cc5..265f3cc0 100644
--- a/source/pdf/pdf-shade.c
+++ b/source/pdf/pdf-shade.c
@@ -419,8 +419,7 @@ pdf_load_shading_dict(fz_context *ctx, pdf_document *doc, pdf_obj *dict, const f
fz_catch(ctx)
{
fz_drop_shade(ctx, shade);
-
- fz_rethrow_message(ctx, "cannot load shading type %d (%d %d R)", type, pdf_to_num(ctx, dict), pdf_to_gen(ctx, dict));
+ fz_rethrow(ctx);
}
return shade;
}
diff --git a/source/pdf/pdf-stream.c b/source/pdf/pdf-stream.c
index 68f4683c..1743a22c 100644
--- a/source/pdf/pdf-stream.c
+++ b/source/pdf/pdf-stream.c
@@ -578,7 +578,7 @@ pdf_load_image_stream(fz_context *ctx, pdf_document *doc, int num, int gen, int
}
fz_catch(ctx)
{
- fz_rethrow_message(ctx, "cannot read raw stream (%d %d R)", num, gen);
+ fz_rethrow(ctx);
}
return buf;
diff --git a/source/pdf/pdf-type3.c b/source/pdf/pdf-type3.c
index 236ac6c4..908c4354 100644
--- a/source/pdf/pdf-type3.c
+++ b/source/pdf/pdf-type3.c
@@ -171,7 +171,7 @@ pdf_load_type3_font(fz_context *ctx, pdf_document *doc, pdf_obj *rdb, pdf_obj *d
{
if (fontdesc)
pdf_drop_font(ctx, fontdesc);
- fz_rethrow_message(ctx, "cannot load type3 font (%d %d R)", pdf_to_num(ctx, dict), pdf_to_gen(ctx, dict));
+ fz_rethrow(ctx);
}
doc->type3_fonts[doc->num_type3_fonts++] = fz_keep_font(ctx, fontdesc->font);
diff --git a/source/pdf/pdf-write.c b/source/pdf/pdf-write.c
index 8e686218..4e236748 100644
--- a/source/pdf/pdf-write.c
+++ b/source/pdf/pdf-write.c
@@ -2994,7 +2994,7 @@ make_page_tree_node(fz_context *ctx, pdf_document *doc, int l, int r, pdf_obj *p
pdf_drop_obj(ctx, a);
pdf_drop_obj(ctx, o);
pdf_drop_obj(ctx, me);
- fz_rethrow_message(ctx, "Failed to synthesize new page tree");
+ fz_rethrow(ctx);
}
return me_ref;
}
diff --git a/source/pdf/pdf-xobject.c b/source/pdf/pdf-xobject.c
index 95680ed5..316ca973 100644
--- a/source/pdf/pdf-xobject.c
+++ b/source/pdf/pdf-xobject.c
@@ -107,7 +107,7 @@ pdf_load_xobject(fz_context *ctx, pdf_document *doc, pdf_obj *dict)
{
pdf_remove_item(ctx, pdf_drop_xobject_imp, dict);
pdf_drop_xobject(ctx, form);
- fz_rethrow_message(ctx, "cannot load xobject content stream (%d %d R)", pdf_to_num(ctx, dict), pdf_to_gen(ctx, dict));
+ fz_rethrow(ctx);
}
form->me = pdf_keep_obj(ctx, dict);
@@ -188,7 +188,7 @@ pdf_new_xobject(fz_context *ctx, pdf_document *doc, const fz_rect *bbox, const f
pdf_drop_obj(ctx, dict);
pdf_drop_obj(ctx, idict);
pdf_drop_xobject(ctx, form);
- fz_rethrow_message(ctx, "failed to create xobject");
+ fz_rethrow(ctx);
}
return idict;
diff --git a/source/pdf/pdf-xref.c b/source/pdf/pdf-xref.c
index 9f849e89..c1f7fa0d 100644
--- a/source/pdf/pdf-xref.c
+++ b/source/pdf/pdf-xref.c
@@ -692,7 +692,7 @@ pdf_xref_size_from_old_trailer(fz_context *ctx, pdf_document *doc, pdf_lexbuf *b
}
fz_catch(ctx)
{
- fz_rethrow_message(ctx, "cannot parse trailer");
+ fz_rethrow(ctx);
}
fz_seek(ctx, doc->file, ofs, SEEK_SET);
@@ -845,7 +845,7 @@ pdf_read_old_xref(fz_context *ctx, pdf_document *doc, pdf_lexbuf *buf)
}
fz_catch(ctx)
{
- fz_rethrow_message(ctx, "cannot parse trailer");
+ fz_rethrow(ctx);
}
return trailer;
}
@@ -915,7 +915,7 @@ pdf_read_new_xref(fz_context *ctx, pdf_document *doc, pdf_lexbuf *buf)
fz_catch(ctx)
{
pdf_drop_obj(ctx, trailer);
- fz_rethrow_message(ctx, "cannot parse compressed xref stream object");
+ fz_rethrow(ctx);
}
fz_try(ctx)
@@ -1008,7 +1008,7 @@ pdf_read_xref(fz_context *ctx, pdf_document *doc, fz_off_t ofs, pdf_lexbuf *buf)
}
fz_catch(ctx)
{
- fz_rethrow_message(ctx, "cannot read xref (ofs=%d)", (int)ofs);
+ fz_rethrow(ctx);
}
return trailer;
}
@@ -1083,7 +1083,7 @@ read_xref_section(fz_context *ctx, pdf_document *doc, fz_off_t ofs, pdf_lexbuf *
}
fz_catch(ctx)
{
- fz_rethrow_message(ctx, "cannot read xref at offset %d", (int)ofs);
+ fz_rethrow(ctx);
}
return prevofs;
@@ -1538,7 +1538,7 @@ pdf_init_document(fz_context *ctx, pdf_document *doc)
{
pdf_drop_obj(ctx, dict);
pdf_drop_obj(ctx, nobj);
- fz_rethrow_message(ctx, "cannot open document");
+ fz_rethrow(ctx);
}
fz_try(ctx)
@@ -1758,7 +1758,7 @@ pdf_load_obj_stm(fz_context *ctx, pdf_document *doc, int num, int gen, pdf_lexbu
}
fz_catch(ctx)
{
- fz_rethrow_message(ctx, "cannot open object stream (%d %d R)", num, gen);
+ fz_rethrow(ctx);
}
return ret_entry;
}
@@ -2076,7 +2076,7 @@ object_updated:
}
fz_catch(ctx)
{
- fz_rethrow_message(ctx, "cannot load object stream containing object (%d %d R)", num, gen);
+ fz_rethrow(ctx);
}
if (x == NULL)
fz_throw(ctx, FZ_ERROR_GENERIC, "cannot load object stream containing object (%d %d R)", num, gen);
@@ -2104,19 +2104,8 @@ object_updated:
pdf_obj *
pdf_load_object(fz_context *ctx, pdf_document *doc, int num, int gen)
{
- pdf_xref_entry *entry;
-
- fz_try(ctx)
- {
- entry = pdf_cache_object(ctx, doc, num, gen);
- }
- fz_catch(ctx)
- {
- fz_rethrow_message(ctx, "cannot load object (%d %d R) into cache", num, gen);
- }
-
+ pdf_xref_entry *entry = pdf_cache_object(ctx, doc, num, gen);
assert(entry->obj != NULL);
-
return pdf_keep_obj(ctx, entry->obj);
}
@@ -2358,7 +2347,7 @@ pdf_open_document_with_stream(fz_context *ctx, fz_stream *file)
fz_catch(ctx)
{
pdf_close_document(ctx, doc);
- fz_rethrow_message(ctx, "cannot load document from stream");
+ fz_rethrow(ctx);
}
return doc;
}
@@ -2385,7 +2374,7 @@ pdf_open_document(fz_context *ctx, const char *filename)
fz_catch(ctx)
{
pdf_close_document(ctx, doc);
- fz_rethrow_message(ctx, "cannot load document '%s'", filename);
+ fz_rethrow(ctx);
}
return doc;
}
@@ -2805,7 +2794,7 @@ pdf_document *pdf_create_document(fz_context *ctx)
{
pdf_drop_obj(ctx, trailer);
pdf_drop_obj(ctx, o);
- fz_rethrow_message(ctx, "Failed to create empty document");
+ fz_rethrow(ctx);
}
return doc;
}
diff --git a/source/tools/mjsgen.c b/source/tools/mjsgen.c
index d1366062..37f315bc 100644
--- a/source/tools/mjsgen.c
+++ b/source/tools/mjsgen.c
@@ -95,20 +95,10 @@ static void escape_string(FILE *out, int len, const char *string)
static void processpage(fz_context *ctx, fz_document *doc, int pagenum)
{
- fz_page *page;
- int needshot = 0;
-
- fz_try(ctx)
- {
- page = fz_load_page(ctx, doc, pagenum - 1);
- }
- fz_catch(ctx)
- {
- fz_rethrow_message(ctx, "cannot load page %d in file '%s'", pagenum, filename);
- }
-
+ fz_page *page = fz_load_page(ctx, doc, pagenum - 1);
pdf_document *inter = pdf_specifics(ctx, doc);
pdf_widget *widget = NULL;
+ int needshot = 0;
if (inter)
widget = pdf_first_widget(inter, (pdf_page *)page);
diff --git a/source/tools/mudraw.c b/source/tools/mudraw.c
index 120c166d..9e72b652 100644
--- a/source/tools/mudraw.c
+++ b/source/tools/mudraw.c
@@ -489,10 +489,7 @@ static void drawpage(fz_context *ctx, fz_document *doc, int pagenum)
if (showtime)
start = gettime();
- fz_try(ctx)
- page = fz_load_page(ctx, doc, pagenum - 1);
- fz_catch(ctx)
- fz_rethrow_message(ctx, "cannot load page %d in file '%s'", pagenum, filename);
+ page = fz_load_page(ctx, doc, pagenum - 1);
if (showmd5 || showtime || showfeatures)
fprintf(stderr, "page %s %d", filename, pagenum);
@@ -532,7 +529,7 @@ static void drawpage(fz_context *ctx, fz_document *doc, int pagenum)
{
fz_drop_display_list(ctx, list);
fz_drop_page(ctx, page);
- fz_rethrow_message(ctx, "cannot draw page %d in file '%s'", pagenum, filename);
+ fz_rethrow(ctx);
}
}
@@ -1422,14 +1419,7 @@ int mudraw_main(int argc, char **argv)
filename = argv[fz_optind++];
files++;
- fz_try(ctx)
- {
- doc = fz_open_document(ctx, filename);
- }
- fz_catch(ctx)
- {
- fz_rethrow_message(ctx, "cannot open document: %s", filename);
- }
+ doc = fz_open_document(ctx, filename);
if (fz_needs_password(ctx, doc))
{
diff --git a/source/xps/xps-zip.c b/source/xps/xps-zip.c
index 136e40c8..d359213d 100644
--- a/source/xps/xps-zip.c
+++ b/source/xps/xps-zip.c
@@ -188,7 +188,7 @@ xps_open_document(fz_context *ctx, const char *filename)
fz_always(ctx)
fz_drop_stream(ctx, file);
fz_catch(ctx)
- fz_rethrow_message(ctx, "cannot load document '%s'", filename);
+ fz_rethrow(ctx);
return doc;
}