summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Breitenlohner <peb@mppmu.mpg.de>2012-04-28 11:29:12 +0000
committerPeter Breitenlohner <peb@mppmu.mpg.de>2012-04-28 11:29:12 +0000
commit7e8495ea463519c8e12b68235e158348ce613179 (patch)
tree1c9c068abb24e86c3357069f391b6c0fb160d7a6
parent4c003968cbe8928fd89b282dae20439b249b6371 (diff)
xdvipdfmx: Reduce differences with dvipdfmx
git-svn-id: svn://tug.org/texlive/trunk@26152 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Build/source/texk/xdvipdfmx/ChangeLog.TL4
-rw-r--r--Build/source/texk/xdvipdfmx/src/dpxutil.c19
-rw-r--r--Build/source/texk/xdvipdfmx/src/dpxutil.h6
-rw-r--r--Build/source/texk/xdvipdfmx/src/pdfdoc.c6
-rw-r--r--Build/source/texk/xdvipdfmx/src/pdfdoc.h6
5 files changed, 29 insertions, 12 deletions
diff --git a/Build/source/texk/xdvipdfmx/ChangeLog.TL b/Build/source/texk/xdvipdfmx/ChangeLog.TL
index ea73c4c304d..be8e8d8b732 100644
--- a/Build/source/texk/xdvipdfmx/ChangeLog.TL
+++ b/Build/source/texk/xdvipdfmx/ChangeLog.TL
@@ -4,8 +4,8 @@ ChangeLog.TL: TeX Live (TL) changes for xdvipdfmx
2012-04-27 Peter Breitenlohner <peb@mppmu.mpg.de>
Reduce differences between dvipdfmx and xdvipdfmx.
- * cid.[ch], cidtype[02].c, mem.[ch], truetype.c, tt_cmap.c:
- Trivial modifications.
+ * cid.[ch], cidtype[02].c, dpxutil.[ch], pdfdoc.[ch],
+ mem.[ch], truetype.c, tt_cmap.c: Trivial modifications.
2012-04-25 Peter Breitenlohner <peb@mppmu.mpg.de>
diff --git a/Build/source/texk/xdvipdfmx/src/dpxutil.c b/Build/source/texk/xdvipdfmx/src/dpxutil.c
index 70676206cd6..6f848f86562 100644
--- a/Build/source/texk/xdvipdfmx/src/dpxutil.c
+++ b/Build/source/texk/xdvipdfmx/src/dpxutil.c
@@ -1,4 +1,4 @@
-/* $Header: /home/cvsroot/dvipdfmx/src/dpxutil.c,v 1.8 2007/11/14 03:36:01 chofchof Exp $
+/* $Header: /home/cvsroot/dvipdfmx/src/dpxutil.c,v 1.14 2011/03/06 03:14:13 chofchof Exp $
This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks.
@@ -179,14 +179,15 @@ ht_clear_table (struct ht_table *ht, void (*hval_free_fn) (void *))
int i;
ASSERT(ht);
+ ht->hval_free_fn = hval_free_fn;
for (i = 0; i < HASH_TABLE_SIZE; i++) {
struct ht_entry *hent, *next;
hent = ht->table[i];
while (hent) {
- if (hent->value) {
- hval_free_fn(hent->value);
+ if (hent->value && ht->hval_free_fn) {
+ ht->hval_free_fn(hent->value);
}
hent->value = NULL;
if (hent->key) {
@@ -200,6 +201,7 @@ ht_clear_table (struct ht_table *ht, void (*hval_free_fn) (void *))
ht->table[i] = NULL;
}
ht->count = 0;
+ ht->hval_free_fn = NULL;
}
static unsigned int
@@ -245,6 +247,7 @@ ht_remove_table (struct ht_table *ht,
unsigned int hkey;
ASSERT(ht && key);
+ ht->hval_free_fn = hval_free_fn;
hkey = get_hash(key, keylen);
hent = ht->table[hkey];
@@ -262,7 +265,9 @@ ht_remove_table (struct ht_table *ht,
RELEASE(hent->key);
hent->key = NULL;
hent->keylen = 0;
- hval_free_fn(hent->value);
+ if (hent->value && ht->hval_free_fn) {
+ ht->hval_free_fn(hent->value);
+ }
hent->value = NULL;
if (prev) {
prev->next = hent->next;
@@ -286,6 +291,7 @@ ht_insert_table (struct ht_table *ht,
unsigned int hkey;
ASSERT(ht && key);
+ ht->hval_free_fn = hval_free_fn;
hkey = get_hash(key, keylen);
hent = ht->table[hkey];
@@ -299,8 +305,9 @@ ht_insert_table (struct ht_table *ht,
hent = hent->next;
}
if (hent) {
- hval_free_fn(hent->value);
- hent->value = value;
+ if (hent->value && ht->hval_free_fn)
+ ht->hval_free_fn(hent->value);
+ hent->value = value;
} else {
hent = NEW(1, struct ht_entry);
hent->key = NEW(keylen, char);
diff --git a/Build/source/texk/xdvipdfmx/src/dpxutil.h b/Build/source/texk/xdvipdfmx/src/dpxutil.h
index 11ca23f2040..552b57d6f68 100644
--- a/Build/source/texk/xdvipdfmx/src/dpxutil.h
+++ b/Build/source/texk/xdvipdfmx/src/dpxutil.h
@@ -1,4 +1,4 @@
-/* $Header: /home/cvsroot/dvipdfmx/src/dpxutil.h,v 1.8 2007/11/14 03:36:01 chofchof Exp $
+/* $Header: /home/cvsroot/dvipdfmx/src/dpxutil.h,v 1.12 2011/03/06 03:14:13 chofchof Exp $
This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks.
@@ -68,12 +68,14 @@ struct ht_entry {
struct ht_table {
long count;
+ void (*hval_free_fn) (void *);
struct ht_entry *table[HASH_TABLE_SIZE];
};
extern void ht_init_table (struct ht_table *ht);
extern void ht_clear_table (struct ht_table *ht, void (*hval_free_fn) (void *));
-extern void *ht_lookup_table (struct ht_table *ht, const void *key, int keylen);
+extern void *ht_lookup_table (struct ht_table *ht,
+ const void *key, int keylen);
extern void ht_append_table (struct ht_table *ht,
const void *key, int keylen, void *value) ;
extern int ht_remove_table (struct ht_table *ht,
diff --git a/Build/source/texk/xdvipdfmx/src/pdfdoc.c b/Build/source/texk/xdvipdfmx/src/pdfdoc.c
index a1a288241de..86772a9f9d3 100644
--- a/Build/source/texk/xdvipdfmx/src/pdfdoc.c
+++ b/Build/source/texk/xdvipdfmx/src/pdfdoc.c
@@ -1,4 +1,4 @@
-/* $Header: /home/cvsroot/dvipdfmx/src/pdfdoc.c,v 1.57 2008/06/05 06:27:42 chofchof Exp $
+/* $Header: /home/cvsroot/dvipdfmx/src/pdfdoc.c,v 1.76 2011/03/06 03:14:14 chofchof Exp $
This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks.
@@ -1338,11 +1338,13 @@ pdf_doc_begin_article (const char *article_id, pdf_obj *article_info)
return;
}
+#if 0
void
pdf_doc_end_article (const char *article_id)
{
return; /* no-op */
}
+#endif
static pdf_bead *
find_bead (pdf_article *article, const char *bead_id)
@@ -2293,6 +2295,7 @@ pdf_doc_expand_box (const pdf_rect *rect)
breaking_state.dirty = 1;
}
+#if 0
/* This should be number tree */
void
pdf_doc_set_pagelabel (long pg_start,
@@ -2325,3 +2328,4 @@ pdf_doc_set_pagelabel (long pg_start,
return;
}
+#endif
diff --git a/Build/source/texk/xdvipdfmx/src/pdfdoc.h b/Build/source/texk/xdvipdfmx/src/pdfdoc.h
index 2ce1054b376..bccfe86dffe 100644
--- a/Build/source/texk/xdvipdfmx/src/pdfdoc.h
+++ b/Build/source/texk/xdvipdfmx/src/pdfdoc.h
@@ -1,4 +1,4 @@
-/* $Header: /home/cvsroot/dvipdfmx/src/pdfdoc.h,v 1.24 2008/06/05 06:27:42 chofchof Exp $
+/* $Header: /home/cvsroot/dvipdfmx/src/pdfdoc.h,v 1.33 2009/09/19 18:48:27 matthias Exp $
This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks.
@@ -85,7 +85,9 @@ extern void pdf_doc_add_page_resource (const char *category,
/* Article thread */
extern void pdf_doc_begin_article (const char *article_id, pdf_obj *info);
+#if 0
extern void pdf_doc_end_article (const char *article_id); /* Do nothing... */
+#endif
extern void pdf_doc_make_article (const char *article_id,
const char **bead_order, int num_beads);
extern void pdf_doc_add_bead (const char *article_id,
@@ -120,11 +122,13 @@ extern void pdf_doc_expand_box (const pdf_rect *rect);
/* Manual thumbnail */
extern void pdf_doc_enable_manual_thumbnails (void);
+#if 0
/* PageLabels - */
extern void pdf_doc_set_pagelabel (long page_start,
const char *type,
const void *prefix, int pfrx_len,
long counter_start);
+#endif
/* Similar to bop_content */
#include "pdfcolor.h"