summaryrefslogtreecommitdiff
path: root/Build/source/texk/dvipdfm-x/specials.c
diff options
context:
space:
mode:
authorAkira Kakuto <kakuto@fuk.kindai.ac.jp>2020-07-20 20:56:58 +0000
committerAkira Kakuto <kakuto@fuk.kindai.ac.jp>2020-07-20 20:56:58 +0000
commitdbfd3d35c0325197dec305820484818e46f8ac13 (patch)
treea85efc199f7dc07a4ac77be05e0aac00b6b72566 /Build/source/texk/dvipdfm-x/specials.c
parent42232d1095a8b15d33ecf3448250569fc6ed6915 (diff)
support forward reference of image objects (S. Hirata)
git-svn-id: svn://tug.org/texlive/trunk@55887 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/dvipdfm-x/specials.c')
-rw-r--r--Build/source/texk/dvipdfm-x/specials.c26
1 files changed, 5 insertions, 21 deletions
diff --git a/Build/source/texk/dvipdfm-x/specials.c b/Build/source/texk/dvipdfm-x/specials.c
index b2bc929099a..54941f5f183 100644
--- a/Build/source/texk/dvipdfm-x/specials.c
+++ b/Build/source/texk/dvipdfm-x/specials.c
@@ -123,7 +123,6 @@ spc_set_phantom (struct spc_env *spe, double height, double depth)
dvi_set_phantom_height(height, depth);
}
-static struct ht_table *named_objects = NULL;
/* reserved keys */
static const char *_rkeys[] = {
@@ -177,8 +176,6 @@ spc_lookup_reference (const char *key)
pdf_coord cp;
int k;
- ASSERT(named_objects);
-
if (!key)
return NULL;
@@ -223,7 +220,7 @@ spc_lookup_reference (const char *key)
if (ispageref(key))
value = pdf_doc_ref_page(atoi(key + 4));
else {
- value = pdf_names_lookup_reference(named_objects, key, strlen(key));
+ value = pdf_names_lookup_reference(global_names, key, strlen(key));
}
break;
}
@@ -242,8 +239,6 @@ spc_lookup_object (const char *key)
pdf_coord cp;
int k;
- ASSERT(named_objects);
-
if (!key)
return NULL;
@@ -278,7 +273,7 @@ spc_lookup_object (const char *key)
value = pdf_doc_docinfo();
break;
default:
- value = pdf_names_lookup_object(named_objects, key, strlen(key));
+ value = pdf_names_lookup_object(global_names, key, strlen(key));
break;
}
@@ -294,25 +289,22 @@ spc_lookup_object (const char *key)
void
spc_push_object (const char *key, pdf_obj *value)
{
- ASSERT(named_objects);
-
if (!key || !value)
return;
- pdf_names_add_object(named_objects, key, strlen(key), value);
+ pdf_names_add_object(global_names, key, strlen(key), value);
}
void
spc_flush_object (const char *key)
{
- pdf_names_close_object(named_objects, key, strlen(key));
+ pdf_names_close_object(global_names, key, strlen(key));
}
void
spc_clear_objects (void)
{
- pdf_delete_name_tree(&named_objects);
- named_objects = pdf_new_name_tree();
+ /* Do nothing... */
}
@@ -489,10 +481,6 @@ spc_exec_at_begin_document (void)
int error = 0;
int i;
- ASSERT(!named_objects);
-
- named_objects = pdf_new_name_tree();
-
for (i = 0; known_specials[i].key != NULL; i++) {
if (known_specials[i].bodhk_func) {
error = known_specials[i].bodhk_func();
@@ -514,10 +502,6 @@ spc_exec_at_end_document (void)
}
}
- if (named_objects) {
- pdf_delete_name_tree(&named_objects);
- }
-
return error;
}