summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorTor Andersson <tor.andersson@artifex.com>2016-03-01 20:11:26 +0100
committerTor Andersson <tor.andersson@artifex.com>2016-03-01 21:57:41 +0100
commitfbf50daa7e81ee111df3091048a9336ac29d371f (patch)
tree6d6091fece421c44d6efcc924093eedd45a3446a /source
parented08eb1f0e4d3fd49181343f5cd3d63f455cbe51 (diff)
downloadmupdf-fbf50daa7e81ee111df3091048a9336ac29d371f.tar.xz
Rename pdf_new_ref to pdf_add_object.
Diffstat (limited to 'source')
-rw-r--r--source/pdf/pdf-annot-edit.c2
-rw-r--r--source/pdf/pdf-clean.c8
-rw-r--r--source/pdf/pdf-device.c12
-rw-r--r--source/pdf/pdf-font.c16
-rw-r--r--source/pdf/pdf-image.c2
-rw-r--r--source/pdf/pdf-page.c6
-rw-r--r--source/pdf/pdf-write.c6
-rw-r--r--source/pdf/pdf-xref.c47
8 files changed, 63 insertions, 36 deletions
diff --git a/source/pdf/pdf-annot-edit.c b/source/pdf/pdf-annot-edit.c
index 6b085055..06b3495e 100644
--- a/source/pdf/pdf-annot-edit.c
+++ b/source/pdf/pdf-annot-edit.c
@@ -421,7 +421,7 @@ void pdf_set_free_text_details(fz_context *ctx, pdf_document *doc, pdf_annot *an
find_free_font_name(ctx, form_fonts, nbuf, sizeof(nbuf));
font = pdf_new_dict(ctx, doc, 5);
- ref = pdf_new_ref(ctx, doc, font);
+ ref = pdf_add_object(ctx, doc, font);
pdf_dict_puts_drop(ctx, form_fonts, nbuf, ref);
pdf_dict_put_drop(ctx, font, PDF_NAME_Type, PDF_NAME_Font);
diff --git a/source/pdf/pdf-clean.c b/source/pdf/pdf-clean.c
index 8e1dc894..2c8ade73 100644
--- a/source/pdf/pdf-clean.c
+++ b/source/pdf/pdf-clean.c
@@ -39,7 +39,7 @@ pdf_clean_stream_object(fz_context *ctx, pdf_document *doc, pdf_obj *obj, pdf_ob
if (own_res)
{
- ref = pdf_new_ref(ctx, doc, res);
+ ref = pdf_add_object(ctx, doc, res);
pdf_dict_put(ctx, obj, PDF_NAME_Resources, ref);
}
}
@@ -112,7 +112,7 @@ pdf_clean_type3(fz_context *ctx, pdf_document *doc, pdf_obj *obj, pdf_obj *orig_
/* ProcSet - no cleaning possible. Inherit this from the old dict. */
pdf_dict_put(ctx, res, PDF_NAME_ProcSet, pdf_dict_get(ctx, orig_res, PDF_NAME_ProcSet));
- ref = pdf_new_ref(ctx, doc, res);
+ ref = pdf_add_object(ctx, doc, res);
pdf_dict_put(ctx, obj, PDF_NAME_Resources, ref);
}
fz_always(ctx)
@@ -161,7 +161,7 @@ void pdf_clean_page_contents(fz_context *ctx, pdf_document *doc, pdf_page *page,
{
/* create a new object to replace the array */
new_obj = pdf_new_dict(ctx, doc, 1);
- new_ref = pdf_new_ref(ctx, doc, new_obj);
+ new_ref = pdf_add_object(ctx, doc, new_obj);
pdf_drop_obj(ctx, page->contents);
page->contents = contents = pdf_keep_obj(ctx, new_ref);
}
@@ -268,7 +268,7 @@ void pdf_clean_page_contents(fz_context *ctx, pdf_document *doc, pdf_page *page,
pdf_update_stream(ctx, doc, contents, buffer, 0);
pdf_drop_obj(ctx, page->resources);
- ref = pdf_new_ref(ctx, doc, res);
+ ref = pdf_add_object(ctx, doc, res);
page->resources = pdf_keep_obj(ctx, ref);
pdf_dict_put(ctx, page->me, PDF_NAME_Resources, ref);
}
diff --git a/source/pdf/pdf-device.c b/source/pdf/pdf-device.c
index 42d4bcb0..baed991a 100644
--- a/source/pdf/pdf-device.c
+++ b/source/pdf/pdf-device.c
@@ -323,7 +323,7 @@ pdf_dev_alpha(fz_context *ctx, pdf_device *pdev, float alpha, int stroke)
{
char text[32];
pdf_dict_put_drop(ctx, o, (stroke ? PDF_NAME_CA : PDF_NAME_ca), pdf_new_real(ctx, doc, alpha));
- ref = pdf_new_ref(ctx, doc, o);
+ ref = pdf_add_object(ctx, doc, o);
fz_snprintf(text, sizeof(text), "ExtGState/Alp%d", i);
pdf_dict_putp(ctx, pdev->resources, text, ref);
}
@@ -577,7 +577,7 @@ pdf_dev_new_form(fz_context *ctx, pdf_obj **form_ref, pdf_device *pdev, const fz
pdf_dict_put_drop(ctx, group, PDF_NAME_CS, PDF_NAME_DeviceCMYK);
else
pdf_dict_put_drop(ctx, group, PDF_NAME_CS, PDF_NAME_DeviceRGB);
- group_ref = pdev->groups[num].ref = pdf_new_ref(ctx, doc, group);
+ group_ref = pdev->groups[num].ref = pdf_add_object(ctx, doc, group);
}
fz_always(ctx)
{
@@ -598,7 +598,7 @@ pdf_dev_new_form(fz_context *ctx, pdf_obj **form_ref, pdf_device *pdev, const fz
pdf_dict_put(ctx, form, PDF_NAME_Group, group_ref);
pdf_dict_put_drop(ctx, form, PDF_NAME_FormType, pdf_new_int(ctx, doc, 1));
pdf_dict_put_drop(ctx, form, PDF_NAME_BBox, pdf_new_rect(ctx, doc, bbox));
- *form_ref = pdf_new_ref(ctx, doc, form);
+ *form_ref = pdf_add_object(ctx, doc, form);
}
fz_always(ctx)
{
@@ -916,8 +916,8 @@ pdf_dev_begin_mask(fz_context *ctx, fz_device *dev, const fz_rect *bbox, int lum
egs = pdf_new_dict(ctx, doc, 5);
pdf_dict_put_drop(ctx, egs, PDF_NAME_Type, PDF_NAME_ExtGState);
- pdf_dict_put_drop(ctx, egs, PDF_NAME_SMask, pdf_new_ref(ctx, doc, smask));
- egs_ref = pdf_new_ref(ctx, doc, egs);
+ pdf_dict_put_drop(ctx, egs, PDF_NAME_SMask, pdf_add_object(ctx, doc, smask));
+ egs_ref = pdf_add_object(ctx, doc, egs);
{
char text[32];
@@ -1165,7 +1165,7 @@ fz_device *pdf_page_write(fz_context *ctx, pdf_document *doc, pdf_page *page)
obj = pdf_new_dict(ctx, doc, 0);
fz_try(ctx)
{
- pdf_obj *new_contents = pdf_new_ref(ctx, doc, obj);
+ pdf_obj *new_contents = pdf_add_object(ctx, doc, obj);
pdf_dict_put(ctx, page->me, PDF_NAME_Contents, new_contents);
pdf_drop_obj(ctx, page->contents);
page->contents = new_contents;
diff --git a/source/pdf/pdf-font.c b/source/pdf/pdf-font.c
index f45f71c6..e2f37cbd 100644
--- a/source/pdf/pdf-font.c
+++ b/source/pdf/pdf-font.c
@@ -1412,7 +1412,7 @@ pdf_add_font_file(fz_context *ctx, pdf_document *doc, fz_font *font)
pdf_dict_put_drop(ctx, obj, PDF_NAME_Subtype, PDF_NAME_Type1C);
break;
}
- ref = pdf_new_ref(ctx, doc, obj);
+ ref = pdf_add_object(ctx, doc, obj);
pdf_update_stream(ctx, doc, ref, buf, 0);
}
fz_always(ctx)
@@ -1471,7 +1471,7 @@ pdf_add_font_descriptor(fz_context *ctx, pdf_document *doc, pdf_font_desc *fontd
}
}
- ref = pdf_new_ref(ctx, doc, fdobj);
+ ref = pdf_add_object(ctx, doc, fdobj);
}
fz_always(ctx)
{
@@ -1523,7 +1523,7 @@ pdf_add_simple_font_widths(fz_context *ctx, pdf_document *doc, pdf_font_desc *fo
fz_rethrow(ctx);
}
- return pdf_new_ref(ctx, doc, arr);
+ return pdf_add_object_drop(ctx, doc, arr);
}
static pdf_obj*
@@ -1666,7 +1666,7 @@ pdf_add_cid_font_widths(fz_context *ctx, pdf_document *doc, pdf_font_desc *fontd
pdf_drop_obj(ctx, run_obj);
fz_rethrow(ctx);
}
- return pdf_new_ref(ctx, doc, fwobj);
+ return pdf_add_object_drop(ctx, doc, fwobj);
}
/* Descendant font construction used for CID font creation from ttf or Adobe type1 */
@@ -1720,7 +1720,7 @@ pdf_add_descendant_font(fz_context *ctx, pdf_document *doc, pdf_font_desc *fontd
if (fw != NULL)
pdf_dict_put(ctx, fobj, PDF_NAME_W, fw);
- fref = pdf_new_ref(ctx, doc, fobj);
+ fref = pdf_add_object(ctx, doc, fobj);
}
fz_always(ctx)
{
@@ -1897,7 +1897,7 @@ pdf_add_to_unicode(fz_context *ctx, pdf_document *doc, fz_font *font)
fz_buffer_printf(ctx, buf, "end\nend\n");
fobj = pdf_new_dict(ctx, doc, 3);
- fref = pdf_new_ref(ctx, doc, fobj);
+ fref = pdf_add_object(ctx, doc, fobj);
pdf_update_stream(ctx, doc, fref, buf, 0);
}
fz_always(ctx)
@@ -1969,7 +1969,7 @@ pdf_add_cid_font(fz_context *ctx, pdf_document *doc, fz_font *font)
pdf_dict_put(ctx, fobj, PDF_NAME_DescendantFonts, obj_array);
if (obj_tounicode_ref)
pdf_dict_put(ctx, fobj, PDF_NAME_ToUnicode, obj_tounicode_ref);
- fref = pdf_new_ref(ctx, doc, fobj);
+ fref = pdf_add_object(ctx, doc, fobj);
/* Add ref to our font resource hash table. */
fref = pdf_insert_resource(ctx, doc->resources->font, digest, fref);
@@ -2054,7 +2054,7 @@ pdf_add_simple_font(fz_context *ctx, pdf_document *doc, fz_font *font)
pdf_dict_put(ctx, fobj, PDF_NAME_FontDescriptor, fdes_ref);
}
- fref = pdf_new_ref(ctx, doc, fobj);
+ fref = pdf_add_object(ctx, doc, fobj);
/* Add ref to our font resource hash table. */
fref = pdf_insert_resource(ctx, doc->resources->font, digest, fref);
diff --git a/source/pdf/pdf-image.c b/source/pdf/pdf-image.c
index df745616..04e1c1f0 100644
--- a/source/pdf/pdf-image.c
+++ b/source/pdf/pdf-image.c
@@ -441,7 +441,7 @@ pdf_add_image(fz_context *ctx, pdf_document *doc, fz_image *image, int mask)
}
if (image->mask)
pdf_add_image(ctx, doc, image->mask, 0);
- imref = pdf_new_ref(ctx, doc, imobj);
+ imref = pdf_add_object(ctx, doc, imobj);
pdf_update_stream(ctx, doc, imref, buffer, 1);
/* Add ref to our image resource hash table. */
diff --git a/source/pdf/pdf-page.c b/source/pdf/pdf-page.c
index f327bfab..7242b16a 100644
--- a/source/pdf/pdf-page.c
+++ b/source/pdf/pdf-page.c
@@ -628,7 +628,7 @@ pdf_insert_page(fz_context *ctx, pdf_document *doc, pdf_page *page, int at)
pdf_obj *page_ref;
int i;
- page_ref = pdf_new_ref(ctx, doc, page->me);
+ page_ref = pdf_add_object(ctx, doc, page->me);
fz_try(ctx)
{
@@ -742,7 +742,7 @@ pdf_create_page(fz_context *ctx, pdf_document *doc, const fz_rect *mediabox, int
if (contents != NULL)
{
obj = pdf_new_dict(ctx, doc, 4);
- page->contents = pdf_new_ref(ctx, doc, obj);
+ page->contents = pdf_add_object(ctx, doc, obj);
pdf_update_stream(ctx, doc, page->contents, contents, 0);
pdf_drop_obj(ctx, obj);
obj = NULL;
@@ -755,7 +755,7 @@ pdf_create_page(fz_context *ctx, pdf_document *doc, const fz_rect *mediabox, int
pdf_dict_put(ctx, pageobj, PDF_NAME_Resources, resources);
else
{
- pdf_obj *ref = pdf_new_ref(ctx, doc, resources);
+ pdf_obj *ref = pdf_add_object(ctx, doc, resources);
pdf_dict_put(ctx, pageobj, PDF_NAME_Resources, ref);
pdf_drop_obj(ctx, ref);
}
diff --git a/source/pdf/pdf-write.c b/source/pdf/pdf-write.c
index 6e9065bd..62ea6c88 100644
--- a/source/pdf/pdf-write.c
+++ b/source/pdf/pdf-write.c
@@ -1149,7 +1149,7 @@ add_linearization_objs(fz_context *ctx, pdf_document *doc, pdf_write_state *opts
{
/* Linearization params */
params_obj = pdf_new_dict(ctx, doc, 10);
- params_ref = pdf_new_ref(ctx, doc, params_obj);
+ params_ref = pdf_add_object(ctx, doc, params_obj);
params_num = pdf_to_num(ctx, params_ref);
opts->use_list[params_num] = USE_PARAMS;
@@ -1178,7 +1178,7 @@ add_linearization_objs(fz_context *ctx, pdf_document *doc, pdf_write_state *opts
/* Primary hint stream */
hint_obj = pdf_new_dict(ctx, doc, 10);
- hint_ref = pdf_new_ref(ctx, doc, hint_obj);
+ hint_ref = pdf_add_object(ctx, doc, hint_obj);
hint_num = pdf_to_num(ctx, hint_ref);
opts->use_list[hint_num] = USE_HINTS;
@@ -2947,7 +2947,7 @@ make_page_tree_node(fz_context *ctx, pdf_document *doc, int l, int r, pdf_obj *p
if (!root)
pdf_dict_put(ctx, me, PDF_NAME_Parent, parent_ref);
a = pdf_new_array(ctx, doc, KIDS_PER_LEVEL);
- me_ref = pdf_new_ref(ctx, doc, me);
+ me_ref = pdf_add_object(ctx, doc, me);
for (spaces = KIDS_PER_LEVEL; l < r; spaces--)
{
diff --git a/source/pdf/pdf-xref.c b/source/pdf/pdf-xref.c
index 4456c741..f8711d3c 100644
--- a/source/pdf/pdf-xref.c
+++ b/source/pdf/pdf-xref.c
@@ -700,14 +700,6 @@ pdf_xref_size_from_old_trailer(fz_context *ctx, pdf_document *doc, pdf_lexbuf *b
return size;
}
-pdf_obj *
-pdf_new_ref(fz_context *ctx, pdf_document *doc, pdf_obj *obj)
-{
- int num = pdf_create_object(ctx, doc);
- pdf_update_object(ctx, doc, num, obj);
- return pdf_new_indirect(ctx, doc, num, 0);
-}
-
static pdf_xref_entry *
pdf_xref_find_subsection(fz_context *ctx, pdf_document *doc, fz_off_t ofs, int len)
{
@@ -2731,6 +2723,41 @@ pdf_document *pdf_specifics(fz_context *ctx, fz_document *doc)
return (pdf_document *)((doc && doc->close == (fz_document_close_fn *)pdf_close_document) ? doc : NULL);
}
+pdf_obj *
+pdf_add_object(fz_context *ctx, pdf_document *doc, pdf_obj *obj)
+{
+ int num;
+ if (pdf_is_indirect(ctx, obj))
+ return pdf_keep_obj(ctx, obj);
+ num = pdf_create_object(ctx, doc);
+ pdf_update_object(ctx, doc, num, obj);
+ return pdf_new_indirect(ctx, doc, num, 0);
+}
+
+pdf_obj *
+pdf_add_object_drop(fz_context *ctx, pdf_document *doc, pdf_obj *obj)
+{
+ pdf_obj *ind;
+ fz_try(ctx)
+ ind = pdf_add_object(ctx, doc, obj);
+ fz_always(ctx)
+ pdf_drop_obj(ctx, obj);
+ fz_catch(ctx)
+ fz_rethrow(ctx);
+ return ind;
+}
+
+pdf_obj *
+pdf_add_stream(fz_context *ctx, pdf_document *doc, fz_buffer *buf)
+{
+ pdf_obj *ind = pdf_add_object_drop(ctx, doc, pdf_new_dict(ctx, doc, 4));
+ fz_try(ctx)
+ pdf_update_stream(ctx, doc, ind, buf, 0);
+ fz_catch(ctx)
+ pdf_drop_obj(ctx, ind);
+ return ind;
+}
+
pdf_document *pdf_create_document(fz_context *ctx)
{
pdf_document *doc;
@@ -2757,12 +2784,12 @@ pdf_document *pdf_create_document(fz_context *ctx)
trailer = pdf_new_dict(ctx, doc, 2);
pdf_dict_put_drop(ctx, trailer, PDF_NAME_Size, pdf_new_int(ctx, doc, 3));
o = root = pdf_new_dict(ctx, doc, 2);
- pdf_dict_put_drop(ctx, trailer, PDF_NAME_Root, pdf_new_ref(ctx, doc, o));
+ pdf_dict_put_drop(ctx, trailer, PDF_NAME_Root, pdf_add_object(ctx, doc, o));
pdf_drop_obj(ctx, o);
o = NULL;
pdf_dict_put_drop(ctx, root, PDF_NAME_Type, PDF_NAME_Catalog);
o = pages = pdf_new_dict(ctx, doc, 3);
- pdf_dict_put_drop(ctx, root, PDF_NAME_Pages, pdf_new_ref(ctx, doc, o));
+ pdf_dict_put_drop(ctx, root, PDF_NAME_Pages, pdf_add_object(ctx, doc, o));
pdf_drop_obj(ctx, o);
o = NULL;
pdf_dict_put_drop(ctx, pages, PDF_NAME_Type, PDF_NAME_Pages);