summaryrefslogtreecommitdiff
path: root/source/pdf/pdf-stream.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/pdf/pdf-stream.c')
-rw-r--r--source/pdf/pdf-stream.c11
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);