summaryrefslogtreecommitdiff
path: root/source/pdf
diff options
context:
space:
mode:
authorTor Andersson <tor.andersson@artifex.com>2016-02-24 15:54:37 +0100
committerTor Andersson <tor.andersson@artifex.com>2016-02-29 15:52:53 +0100
commit727dbaa8a7d987325688703db0d50895df4b097f (patch)
tree6f40d85e24ddbdc8245a92a220a152c944dbaf92 /source/pdf
parentc2398cf7940e2533eb3158e93f271f471a4b369c (diff)
downloadmupdf-727dbaa8a7d987325688703db0d50895df4b097f.tar.xz
Rename some functions.
Remove void* typecasts.
Diffstat (limited to 'source/pdf')
-rw-r--r--source/pdf/pdf-font.c36
-rw-r--r--source/pdf/pdf-image.c4
-rw-r--r--source/pdf/pdf-resources.c72
-rw-r--r--source/pdf/pdf-xref.c4
4 files changed, 45 insertions, 71 deletions
diff --git a/source/pdf/pdf-font.c b/source/pdf/pdf-font.c
index 57f22fe4..ee3d7b9d 100644
--- a/source/pdf/pdf-font.c
+++ b/source/pdf/pdf-font.c
@@ -1476,7 +1476,7 @@ static void ft_width_for_simple_table(fz_context *ctx, pdf_font_desc *fontdesc,
}
static pdf_obj*
-pdf_font_stream_ref(fz_context *ctx, pdf_document *doc, fz_buffer *buf)
+pdf_add_font_file(fz_context *ctx, pdf_document *doc, fz_buffer *buf)
{
pdf_obj *obj = NULL;
pdf_obj *ref = NULL;
@@ -1504,7 +1504,7 @@ pdf_font_stream_ref(fz_context *ctx, pdf_document *doc, fz_buffer *buf)
}
static pdf_obj*
-pdf_font_desc_ref(fz_context *ctx, pdf_document *doc, pdf_font_desc *fontdesc, pdf_obj *fileref)
+pdf_add_font_descriptor(fz_context *ctx, pdf_document *doc, pdf_font_desc *fontdesc, pdf_obj *fileref)
{
pdf_obj *ref = NULL;
pdf_obj *fdobj = NULL;
@@ -1563,7 +1563,7 @@ pdf_font_desc_ref(fz_context *ctx, pdf_document *doc, pdf_font_desc *fontdesc, p
}
static pdf_obj*
-pdf_font_widths_ref(fz_context *ctx, pdf_document *doc, pdf_font_desc *fontdesc)
+pdf_add_simple_font_widths(fz_context *ctx, pdf_document *doc, pdf_font_desc *fontdesc)
{
pdf_obj *ref = NULL;
pdf_obj *arr = NULL;
@@ -1623,7 +1623,7 @@ pdf_add_cid_system_info(fz_context *ctx, pdf_document *doc)
enum { FW_START, FW_SAME, FW_RUN };
static void
-pdf_publish_cid_widths(fz_context *ctx, pdf_document *doc, pdf_obj *fwobj, pdf_obj *run_obj, int state, int first_code, int prev_code, int prev_size)
+pdf_add_cid_font_widths_entry(fz_context *ctx, pdf_document *doc, pdf_obj *fwobj, pdf_obj *run_obj, int state, int first_code, int prev_code, int prev_size)
{
pdf_obj *temp_array = NULL;
@@ -1670,7 +1670,7 @@ pdf_publish_cid_widths(fz_context *ctx, pdf_document *doc, pdf_obj *fwobj, pdf_o
/* ToDo: Ignore the default sized characters */
static pdf_obj*
-pdf_create_cid_widths(fz_context *ctx, pdf_document *doc, pdf_font_desc *fontdesc, fz_font *source_font)
+pdf_add_cid_font_widths(fz_context *ctx, pdf_document *doc, pdf_font_desc *fontdesc, fz_font *source_font)
{
pdf_obj *fwobj = NULL;
pdf_obj *run_obj = NULL;
@@ -1814,7 +1814,7 @@ pdf_create_cid_widths(fz_context *ctx, pdf_document *doc, pdf_font_desc *fontdes
if (publish)
{
- pdf_publish_cid_widths(ctx, doc, fwobj, run_obj, state, first_code, prev_code, prev_size);
+ pdf_add_cid_font_widths_entry(ctx, doc, fwobj, run_obj, state, first_code, prev_code, prev_size);
state = new_state;
publish = 0;
first_code = new_first_code;
@@ -1824,7 +1824,7 @@ pdf_create_cid_widths(fz_context *ctx, pdf_document *doc, pdf_font_desc *fontdes
/* See if we need to flush */
if (gindex == 0)
- pdf_publish_cid_widths(ctx, doc, fwobj, run_obj, state, first_code, prev_code, prev_size);
+ pdf_add_cid_font_widths_entry(ctx, doc, fwobj, run_obj, state, first_code, prev_code, prev_size);
}
}
fz_catch(ctx)
@@ -1859,13 +1859,13 @@ pdf_add_descendant_font(fz_context *ctx, pdf_document *doc, fz_buffer *buffer, p
fz_try(ctx)
{
/* refs */
- fstr_ref = pdf_font_stream_ref(ctx, doc, buffer);
- fdes_ref = pdf_font_desc_ref(ctx, doc, fontdesc, fstr_ref);
+ fstr_ref = pdf_add_font_file(ctx, doc, buffer);
+ fdes_ref = pdf_add_font_descriptor(ctx, doc, fontdesc, fstr_ref);
fsys_ref = pdf_add_cid_system_info(ctx, doc);
/* We may have a cid font already with width info in source font and no
* cmap in the ft face */
- fw = pdf_create_cid_widths(ctx, doc, fontdesc, source_font);
+ fw = pdf_add_cid_font_widths(ctx, doc, fontdesc, source_font);
/* And now the font */
fobj = pdf_new_dict(ctx, doc, 3);
@@ -2153,8 +2153,7 @@ pdf_add_cid_font_res(fz_context *ctx, pdf_document *doc, fz_buffer *buffer, fz_f
/* Before we add this font as a resource check if the same font
* already exists in our resources for this doc. If yes, then
* hand back that reference */
- fres = pdf_resource_table_search(ctx, doc, doc->resources->font,
- (void*)buffer, (void*)&(digest[0]));
+ fres = pdf_find_resource(ctx, doc, doc->resources->font, buffer, digest);
if (fres == NULL)
{
/* Set up desc, width, and font file */
@@ -2189,7 +2188,7 @@ pdf_add_cid_font_res(fz_context *ctx, pdf_document *doc, fz_buffer *buffer, fz_f
fref = pdf_new_ref(ctx, doc, fobj);
/* Add ref to our font resource hash table. */
- fres = pdf_resource_table_put(ctx, doc->resources->font, digest, fref);
+ fres = pdf_insert_resource(ctx, doc->resources->font, digest, fref);
}
}
fz_always(ctx)
@@ -2247,8 +2246,7 @@ pdf_add_simple_font_res(fz_context *ctx, pdf_document *doc, fz_buffer *buffer)
/* Before we add this font as a resource check if the same font
* already exists in our resources for this doc. If yes, then
* hand back that reference */
- fres = pdf_resource_table_search(ctx, doc, doc->resources->font,
- (void*)buffer, (void*)&(digest[0]));
+ fres = pdf_find_resource(ctx, doc, doc->resources->font, buffer, digest);
if (fres == NULL)
{
/* Set up desc, width, and font file */
@@ -2270,9 +2268,9 @@ pdf_add_simple_font_res(fz_context *ctx, pdf_document *doc, fz_buffer *buffer)
has_lock = 0;
/* refs */
- fstr_ref = pdf_font_stream_ref(ctx, doc, buffer);
- fdes_ref = pdf_font_desc_ref(ctx, doc, fontdesc, fstr_ref);
- fwidth_ref = pdf_font_widths_ref(ctx, doc, fontdesc);
+ fstr_ref = pdf_add_font_file(ctx, doc, buffer);
+ fdes_ref = pdf_add_font_descriptor(ctx, doc, fontdesc, fstr_ref);
+ fwidth_ref = pdf_add_simple_font_widths(ctx, doc, fontdesc);
/* And now the font */
pdf_dict_put_drop(ctx, fobj, PDF_NAME_Type, PDF_NAME_Font);
@@ -2299,7 +2297,7 @@ pdf_add_simple_font_res(fz_context *ctx, pdf_document *doc, fz_buffer *buffer)
fref = pdf_new_ref(ctx, doc, fobj);
/* Add ref to our font resource hash table. */
- fres = pdf_resource_table_put(ctx, doc->resources->font, digest, fref);
+ fres = pdf_insert_resource(ctx, doc->resources->font, digest, fref);
}
}
fz_always(ctx)
diff --git a/source/pdf/pdf-image.c b/source/pdf/pdf-image.c
index 78828776..9641520a 100644
--- a/source/pdf/pdf-image.c
+++ b/source/pdf/pdf-image.c
@@ -317,7 +317,7 @@ pdf_add_image_res(fz_context *ctx, pdf_document *doc, fz_image *image, int mask)
/* Before we add this image as a resource check if the same image
* already exists in our resources for this doc. If yes, then
* hand back that reference */
- imres = pdf_resource_table_search(ctx, doc, doc->resources->image,
+ imres = pdf_find_resource(ctx, doc, doc->resources->image,
(void*)image, (void*) &(digest[0]));
if (imres == NULL)
{
@@ -448,7 +448,7 @@ pdf_add_image_res(fz_context *ctx, pdf_document *doc, fz_image *image, int mask)
pdf_update_stream(ctx, doc, imref, buffer, 1);
/* Add ref to our image resource hash table. */
- imres = pdf_resource_table_put(ctx, doc->resources->image, digest, imref);
+ imres = pdf_insert_resource(ctx, doc->resources->image, digest, imref);
}
}
fz_always(ctx)
diff --git a/source/pdf/pdf-resources.c b/source/pdf/pdf-resources.c
index 31812b3c..192e5893 100644
--- a/source/pdf/pdf-resources.c
+++ b/source/pdf/pdf-resources.c
@@ -13,10 +13,9 @@ res_table_free(fz_context *ctx, pdf_res_table *table)
n = fz_hash_len(ctx, table->hash);
for (i = 0; i < n; i++)
{
- void *v = fz_hash_get_val(ctx, table->hash, i);
- if (v)
+ res = fz_hash_get_val(ctx, table->hash, i);
+ if (res)
{
- res = (pdf_res*)v;
pdf_drop_obj(ctx, res->obj);
fz_free(ctx, res);
}
@@ -109,13 +108,13 @@ res_image_init(fz_context *ctx, pdf_document *doc, pdf_res_table *table)
image = NULL;
/* Don't allow overwrites. Number the resources for pdfwrite */
- if (fz_hash_find(ctx, table->hash, (void *)digest) == NULL)
+ if (fz_hash_find(ctx, table->hash, digest) == NULL)
{
res = fz_malloc(ctx, sizeof(pdf_res));
res->num = num;
res->obj = obj;
num = num + 1;
- fz_hash_insert(ctx, table->hash, (void *)digest, obj);
+ fz_hash_insert(ctx, table->hash, digest, obj);
}
}
else
@@ -138,13 +137,10 @@ res_image_init(fz_context *ctx, pdf_document *doc, pdf_res_table *table)
}
}
-static void*
-res_image_search(fz_context *ctx, pdf_document *doc, pdf_res_table *table, void *item,
- void *md5)
+static pdf_res *
+res_image_search(fz_context *ctx, pdf_document *doc, pdf_res_table *table, void *item, unsigned char *digest)
{
- unsigned char digest[16];
-
- fz_image *image = (fz_image*)item;
+ fz_image *image = item;
fz_hash_table *hash = table->hash;
pdf_res *res;
@@ -154,15 +150,10 @@ res_image_search(fz_context *ctx, pdf_document *doc, pdf_res_table *table, void
/* Create md5 and see if we have the item in our table */
res_image_get_md5(ctx, image, digest);
- res = fz_hash_find(ctx, hash, (void*)digest);
-
- /* Return the digest value so that we can avoid having to recompute it when
- * we come back to add the new resource reference */
- if (res == NULL)
- memcpy(md5, digest, 16);
- else
+ res = fz_hash_find(ctx, hash, digest);
+ if (res)
pdf_keep_obj(ctx, res->obj);
- return (void*) res;
+ return res;
}
/* Font specific methods */
@@ -187,12 +178,10 @@ res_font_get_md5(fz_context *ctx, fz_buffer *buffer, unsigned char *digest)
fz_md5_final(&state, digest);
}
-static void*
-res_font_search(fz_context *ctx, pdf_document *doc, pdf_res_table *table, void *item,
- void *md5)
+static pdf_res *
+res_font_search(fz_context *ctx, pdf_document *doc, pdf_res_table *table, void *item, unsigned char digest[16])
{
- unsigned char digest[16];
- fz_buffer *buffer = (fz_buffer*)item;
+ fz_buffer *buffer = item;
fz_hash_table *hash = table->hash;
pdf_res *res;
@@ -202,27 +191,21 @@ res_font_search(fz_context *ctx, pdf_document *doc, pdf_res_table *table, void *
/* Create md5 and see if we have the item in our table */
res_font_get_md5(ctx, buffer, digest);
- res = fz_hash_find(ctx, hash, (void*)digest);
-
- /* Return the digest value so that we can avoid having to recompute it when
- * we come back to add the new resource reference */
- if (res == NULL)
- memcpy(md5, digest, 16);
- else
+ res = fz_hash_find(ctx, hash, digest);
+ if (res)
pdf_keep_obj(ctx, res->obj);
- return (void*)res;
+ return res;
}
/* Accessible methods */
-void*
-pdf_resource_table_search(fz_context *ctx, pdf_document *doc, pdf_res_table *table,
- void *item, void *md5)
+pdf_res *
+pdf_find_resource(fz_context *ctx, pdf_document *doc, pdf_res_table *table, void *item, unsigned char md5[16])
{
return table->search(ctx, doc, table, item, md5);
}
-void*
-pdf_resource_table_put(fz_context *ctx, pdf_res_table *table, void *key, pdf_obj *obj)
+pdf_res *
+pdf_insert_resource(fz_context *ctx, pdf_res_table *table, void *key, pdf_obj *obj)
{
void *result;
pdf_res *res = NULL;
@@ -256,7 +239,7 @@ pdf_resource_table_put(fz_context *ctx, pdf_res_table *table, void *key, pdf_obj
}
void
-pdf_resource_table_free(fz_context *ctx, pdf_document *doc)
+pdf_drop_resource_tables(fz_context *ctx, pdf_document *doc)
{
if (doc->resources == NULL)
return;
@@ -270,9 +253,8 @@ pdf_resource_table_free(fz_context *ctx, pdf_document *doc)
}
void
-pdf_resource_table_init(fz_context *ctx, pdf_document *doc)
+pdf_init_resource_tables(fz_context *ctx, pdf_document *doc)
{
- fz_var(doc);
fz_try(ctx)
{
doc->resources = fz_calloc(ctx, 1, sizeof(pdf_resource_tables));
@@ -283,13 +265,7 @@ pdf_resource_table_init(fz_context *ctx, pdf_document *doc)
}
fz_catch(ctx)
{
- if (doc->resources != NULL)
- {
- fz_free(ctx, doc->resources->color);
- fz_free(ctx, doc->resources->font);
- fz_free(ctx, doc->resources);
- doc->resources = NULL;
- }
- fz_rethrow_message(ctx, "resources failed to allocate");
+ pdf_drop_resource_tables(ctx, doc);
+ fz_rethrow_message(ctx, "cannot allocate resource tables");
}
}
diff --git a/source/pdf/pdf-xref.c b/source/pdf/pdf-xref.c
index 32b1d6a2..02e68530 100644
--- a/source/pdf/pdf-xref.c
+++ b/source/pdf/pdf-xref.c
@@ -1626,7 +1626,7 @@ pdf_close_document(fz_context *ctx, pdf_document *doc)
pdf_lexbuf_fin(ctx, &doc->lexbuf.base);
- pdf_resource_table_free(ctx, doc);
+ pdf_drop_resource_tables(ctx, doc);
fz_free(ctx, doc);
}
@@ -2746,7 +2746,7 @@ pdf_document *pdf_create_document(fz_context *ctx)
doc->num_incremental_sections = 0;
doc->xref_base = 0;
doc->disallow_new_increments = 0;
- pdf_resource_table_init(ctx, doc);
+ pdf_init_resource_tables(ctx, doc);
pdf_get_populating_xref_entry(ctx, doc, 0);
trailer = pdf_new_dict(ctx, doc, 2);
pdf_dict_put_drop(ctx, trailer, PDF_NAME_Size, pdf_new_int(ctx, doc, 3));