diff options
Diffstat (limited to 'source/pdf/pdf-stream.c')
-rw-r--r-- | source/pdf/pdf-stream.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/source/pdf/pdf-stream.c b/source/pdf/pdf-stream.c index 4636a1a7..57167eda 100644 --- a/source/pdf/pdf-stream.c +++ b/source/pdf/pdf-stream.c @@ -4,7 +4,7 @@ * Check if an object is a stream or not. */ int -pdf_is_stream(fz_context *ctx, pdf_document *doc, int num, int gen) +pdf_obj_num_is_stream(fz_context *ctx, pdf_document *doc, int num, int gen) { pdf_xref_entry *entry; @@ -16,6 +16,13 @@ pdf_is_stream(fz_context *ctx, pdf_document *doc, int num, int gen) return entry->stm_ofs != 0 || entry->stm_buf; } +int +pdf_is_stream(fz_context *ctx, pdf_obj *obj) +{ + return pdf_obj_num_is_stream(ctx, pdf_get_indirect_document(ctx, obj), + pdf_to_num(ctx, obj), pdf_to_gen(ctx, obj)); +} + /* * Scan stream dictionary for an explicit /Crypt filter */ @@ -646,7 +653,7 @@ pdf_open_contents_stream(fz_context *ctx, pdf_document *doc, pdf_obj *obj) num = pdf_to_num(ctx, obj); gen = pdf_to_gen(ctx, obj); - if (pdf_is_stream(ctx, doc, num, gen)) + if (pdf_is_stream(ctx, obj)) return pdf_open_image_stream(ctx, doc, num, gen, num, gen, NULL); fz_throw(ctx, FZ_ERROR_GENERIC, "pdf object stream missing (%d %d R)", num, gen); |