diff options
author | Tor Andersson <tor.andersson@artifex.com> | 2011-12-08 16:43:13 +0100 |
---|---|---|
committer | Tor Andersson <tor.andersson@artifex.com> | 2011-12-08 21:46:56 +0100 |
commit | 787c07bc94c3aa163981cb0321e92ce465d33d5f (patch) | |
tree | 03f4c70d285fa3ba9c5a7537ea060dc8af7e5b6a | |
parent | d1e25d11f7191ace03242c456a97b96febaec063 (diff) | |
download | mupdf-787c07bc94c3aa163981cb0321e92ce465d33d5f.tar.xz |
Remove remaining fz_error_note calls in the pdf code.
-rw-r--r-- | pdf/pdf_crypt.c | 31 | ||||
-rw-r--r-- | pdf/pdf_font.c | 2 | ||||
-rw-r--r-- | pdf/pdf_function.c | 14 | ||||
-rw-r--r-- | pdf/pdf_image.c | 15 | ||||
-rw-r--r-- | pdf/pdf_repair.c | 2 | ||||
-rw-r--r-- | scripts/cmapdump.c | 17 |
6 files changed, 31 insertions, 50 deletions
diff --git a/pdf/pdf_crypt.c b/pdf/pdf_crypt.c index 98ad0159..692ed09e 100644 --- a/pdf/pdf_crypt.c +++ b/pdf/pdf_crypt.c @@ -40,7 +40,7 @@ struct pdf_crypt_s fz_context *ctx; }; -static fz_error pdf_parse_crypt_filter(fz_context *ctx, pdf_crypt_filter *cf, fz_obj *dict, char *name, int defaultlength); +static void pdf_parse_crypt_filter(fz_context *ctx, pdf_crypt_filter *cf, fz_obj *dict, char *name, int defaultlength); /* * Create crypt object for decrypting strings and streams @@ -252,7 +252,7 @@ pdf_free_crypt(fz_context *ctx, pdf_crypt *crypt) * Parse a CF dictionary entry (PDF 1.7 table 3.22) */ -static fz_error +static void pdf_parse_crypt_filter(fz_context *ctx, pdf_crypt_filter *cf, fz_obj *cf_obj, char *name, int defaultlength) { fz_obj *obj; @@ -261,23 +261,21 @@ pdf_parse_crypt_filter(fz_context *ctx, pdf_crypt_filter *cf, fz_obj *cf_obj, ch int is_stdcf = (!is_identity && (strcmp(name, "StdCF") == 0)); if (!is_identity && !is_stdcf) - { - return fz_error_make("Crypt Filter not Identity or StdCF (%d %d R)", fz_to_num(cf_obj), fz_to_gen(cf_obj)); - } + fz_throw(ctx, "Crypt Filter not Identity or StdCF (%d %d R)", fz_to_num(cf_obj), fz_to_gen(cf_obj)); + cf->method = PDF_CRYPT_NONE; cf->length = defaultlength; if (cf_obj == NULL) { cf->method = (is_identity ? PDF_CRYPT_NONE : PDF_CRYPT_RC4); - return fz_okay; + return; } dict = fz_dict_gets(cf_obj, name); if (!fz_is_dict(dict)) - { - return fz_error_make("cannot parse crypt filter (%d %d R)", fz_to_num(cf_obj), fz_to_gen(cf_obj)); - } + fz_throw(ctx, "cannot parse crypt filter (%d %d R)", fz_to_num(cf_obj), fz_to_gen(cf_obj)); + obj = fz_dict_gets(dict, "CFM"); if (fz_is_name(obj)) { @@ -302,9 +300,7 @@ pdf_parse_crypt_filter(fz_context *ctx, pdf_crypt_filter *cf, fz_obj *cf_obj, ch cf->length = cf->length * 8; if ((cf->length % 8) != 0) - return fz_error_make("invalid key length: %d", cf->length); - - return fz_okay; + fz_throw(ctx, "invalid key length: %d", cf->length); } /* @@ -806,16 +802,11 @@ pdf_open_crypt(fz_stream *chain, pdf_crypt *crypt, int num, int gen) fz_stream * pdf_open_crypt_with_filter(fz_stream *chain, pdf_crypt *crypt, char *name, int num, int gen) { - fz_error error; - pdf_crypt_filter cf; - if (strcmp(name, "Identity")) { - error = pdf_parse_crypt_filter(chain->ctx, &cf, crypt->cf, name, crypt->length); - if (error) - fz_error_handle(error, "cannot parse crypt filter (%d %d R)", num, gen); - else - return pdf_open_crypt_imp(chain, crypt, &cf, num, gen); + pdf_crypt_filter cf; + pdf_parse_crypt_filter(chain->ctx, &cf, crypt->cf, name, crypt->length); + return pdf_open_crypt_imp(chain, crypt, &cf, num, gen); } return chain; } diff --git a/pdf/pdf_font.c b/pdf/pdf_font.c index b33cbbc0..d4d26f79 100644 --- a/pdf/pdf_font.c +++ b/pdf/pdf_font.c @@ -992,7 +992,7 @@ pdf_load_font_descriptor(pdf_font_desc *fontdesc, pdf_xref *xref, fz_obj *dict, } fz_catch(ctx) { - fz_error_handle(-1, "ignored error when loading embedded font, attempting to load system font"); + fz_warn(ctx, "ignored error when loading embedded font; attempting to load system font"); if (origname != fontname) pdf_load_builtin_font(ctx, fontdesc, fontname); else diff --git a/pdf/pdf_function.c b/pdf/pdf_function.c index 82c29dfd..fcd683ae 100644 --- a/pdf/pdf_function.c +++ b/pdf/pdf_function.c @@ -1090,18 +1090,18 @@ eval_sample_func(fz_context *ctx, pdf_function *func, float *in, float *out) * Exponential function */ -static fz_error +static void load_exponential_func(fz_context *ctx, pdf_function *func, fz_obj *dict) { fz_obj *obj; int i; if (func->m != 1) - return fz_error_make("/Domain must be one dimension (%d)", func->m); + fz_throw(ctx, "/Domain must be one dimension (%d)", func->m); obj = fz_dict_gets(dict, "N"); if (!fz_is_int(obj) && !fz_is_real(obj)) - return fz_error_make("malformed /N"); + fz_throw(ctx, "malformed /N"); func->u.e.n = fz_to_real(obj); obj = fz_dict_gets(dict, "C0"); @@ -1109,7 +1109,7 @@ load_exponential_func(fz_context *ctx, pdf_function *func, fz_obj *dict) { func->n = fz_array_len(obj); if (func->n >= MAXN) - return fz_error_make("exponential function result array out of range"); + fz_throw(ctx, "exponential function result array out of range"); for (i = 0; i < func->n; i++) func->u.e.c0[i] = fz_to_real(fz_array_get(obj, i)); } @@ -1123,18 +1123,16 @@ load_exponential_func(fz_context *ctx, pdf_function *func, fz_obj *dict) if (fz_is_array(obj)) { if (fz_array_len(obj) != func->n) - return fz_error_make("/C1 must match /C0 length"); + fz_throw(ctx, "/C1 must match /C0 length"); for (i = 0; i < func->n; i++) func->u.e.c1[i] = fz_to_real(fz_array_get(obj, i)); } else { if (func->n != 1) - return fz_error_make("/C1 must match /C0 length"); + fz_throw(ctx, "/C1 must match /C0 length"); func->u.e.c1[0] = 1; } - - return fz_okay; } static void diff --git a/pdf/pdf_image.c b/pdf/pdf_image.c index f8c4277c..3af9c5f8 100644 --- a/pdf/pdf_image.c +++ b/pdf/pdf_image.c @@ -200,11 +200,16 @@ pdf_load_image_imp(pdf_xref *xref, fz_obj *rdb, fz_obj *dict, fz_stream *cstm, i if (cstm) { unsigned char tbuf[512]; - int tlen = fz_read(stm, tbuf, sizeof tbuf); - if (tlen < 0) - fz_error_handle(tlen, "ignoring error at end of image"); - if (tlen > 0) - fz_warn(ctx, "ignoring garbage at end of image"); + fz_try(ctx) + { + int tlen = fz_read(stm, tbuf, sizeof tbuf); + if (tlen > 0) + fz_warn(ctx, "ignoring garbage at end of image"); + } + fz_catch(ctx) + { + fz_warn(ctx, "ignoring error at end of image"); + } } fz_close(stm); diff --git a/pdf/pdf_repair.c b/pdf/pdf_repair.c index bfa89751..69fd142b 100644 --- a/pdf/pdf_repair.c +++ b/pdf/pdf_repair.c @@ -107,7 +107,7 @@ pdf_repair_obj(fz_stream *file, char *buf, int cap, int *stmofsp, int *stmlenp, } fz_catch(ctx) { - fz_error_handle(1, "cannot find endstream token, falling back to scanning"); + fz_warn(ctx, "cannot find endstream token, falling back to scanning"); } if (tok == PDF_TOK_ENDSTREAM) goto atobjend; diff --git a/scripts/cmapdump.c b/scripts/cmapdump.c index be7a456e..f2d70631 100644 --- a/scripts/cmapdump.c +++ b/scripts/cmapdump.c @@ -36,7 +36,6 @@ int main(int argc, char **argv) { pdf_cmap *cmap; - fz_error error; fz_stream *fi; FILE *fo; char name[256]; @@ -86,18 +85,8 @@ main(int argc, char **argv) clean(name); fi = fz_open_file(ctx, argv[i]); - if (!fi) - fz_error_make("cmapdump: could not open input file '%s'\n", argv[i]); - - fz_try(ctx) - { - cmap = pdf_parse_cmap(fi); - } - fz_catch(ctx) - { - fz_error_handle(error, "cmapdump: could not parse input cmap '%s'\n", argv[i]); - return 1; - } + cmap = pdf_parse_cmap(fi); + fz_close(fi); fprintf(fo, "\n/* %s */\n\n", cmap->cmap_name); @@ -159,8 +148,6 @@ main(int argc, char **argv) if (getenv("verbose")) printf("\t{\"%s\",&cmap_%s},\n", cmap->cmap_name, name); - - fz_close(fi); } if (fclose(fo)) |