summaryrefslogtreecommitdiff
path: root/Build/source/texk/xdvipdfmx/src
diff options
context:
space:
mode:
authorPeter Breitenlohner <peb@mppmu.mpg.de>2009-11-10 10:30:09 +0000
committerPeter Breitenlohner <peb@mppmu.mpg.de>2009-11-10 10:30:09 +0000
commitc7373aea6badf4ce6e1bca4a5335b89569d5c8a5 (patch)
treeebdd5fea26edc6f892bd2787737b25970ca00990 /Build/source/texk/xdvipdfmx/src
parent5fc8d99062f93c1d823ef44569549781d4a8e36b (diff)
towards TL2010: texk/xdvipdfmx
git-svn-id: svn://tug.org/texlive/trunk@15971 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/xdvipdfmx/src')
-rw-r--r--Build/source/texk/xdvipdfmx/src/Makefile.am2
-rw-r--r--Build/source/texk/xdvipdfmx/src/Makefile.in8
-rw-r--r--Build/source/texk/xdvipdfmx/src/agl.c59
-rw-r--r--Build/source/texk/xdvipdfmx/src/agl.h2
-rw-r--r--Build/source/texk/xdvipdfmx/src/agl_standard.c2
-rw-r--r--Build/source/texk/xdvipdfmx/src/cff.c2
-rw-r--r--Build/source/texk/xdvipdfmx/src/cff.h2
-rw-r--r--Build/source/texk/xdvipdfmx/src/cff_dict.c4
-rw-r--r--Build/source/texk/xdvipdfmx/src/cff_types.h2
-rw-r--r--Build/source/texk/xdvipdfmx/src/cid.c4
-rw-r--r--Build/source/texk/xdvipdfmx/src/cidtype0.c8
-rw-r--r--Build/source/texk/xdvipdfmx/src/cidtype2.c6
-rw-r--r--Build/source/texk/xdvipdfmx/src/cmap.c5
-rw-r--r--Build/source/texk/xdvipdfmx/src/cmap_write.c2
-rw-r--r--Build/source/texk/xdvipdfmx/src/dpxcrypt.c6
-rw-r--r--Build/source/texk/xdvipdfmx/src/dpxcrypt.h2
-rw-r--r--Build/source/texk/xdvipdfmx/src/dpxfile.c36
-rw-r--r--Build/source/texk/xdvipdfmx/src/dpxutil.c22
-rw-r--r--Build/source/texk/xdvipdfmx/src/dpxutil.h6
-rw-r--r--Build/source/texk/xdvipdfmx/src/dvi.c31
-rw-r--r--Build/source/texk/xdvipdfmx/src/dvipdfmx.c19
-rw-r--r--Build/source/texk/xdvipdfmx/src/epdf.c14
-rw-r--r--Build/source/texk/xdvipdfmx/src/fontmap.c55
-rw-r--r--Build/source/texk/xdvipdfmx/src/mfileio.c2
-rwxr-xr-xBuild/source/texk/xdvipdfmx/src/mk_agl_standard_c.pl2
-rw-r--r--Build/source/texk/xdvipdfmx/src/mpost.c24
-rw-r--r--Build/source/texk/xdvipdfmx/src/mpost.h4
-rw-r--r--Build/source/texk/xdvipdfmx/src/otl_conf.c10
-rw-r--r--Build/source/texk/xdvipdfmx/src/otl_opt.c6
-rw-r--r--Build/source/texk/xdvipdfmx/src/pdfcolor.c20
-rw-r--r--Build/source/texk/xdvipdfmx/src/pdfdev.c15
-rw-r--r--Build/source/texk/xdvipdfmx/src/pdfdoc.c4
-rw-r--r--Build/source/texk/xdvipdfmx/src/pdfdraw.c2
-rw-r--r--Build/source/texk/xdvipdfmx/src/pdfencoding.c13
-rw-r--r--Build/source/texk/xdvipdfmx/src/pdfencoding.h2
-rw-r--r--Build/source/texk/xdvipdfmx/src/pdfencrypt.c2
-rw-r--r--Build/source/texk/xdvipdfmx/src/pdfnames.c6
-rw-r--r--Build/source/texk/xdvipdfmx/src/pdfobj.c43
-rw-r--r--Build/source/texk/xdvipdfmx/src/pdfparse.c81
-rw-r--r--Build/source/texk/xdvipdfmx/src/pdfparse.h40
-rw-r--r--Build/source/texk/xdvipdfmx/src/pst_obj.c13
-rw-r--r--Build/source/texk/xdvipdfmx/src/sfnt.h2
-rw-r--r--Build/source/texk/xdvipdfmx/src/spc_color.c20
-rw-r--r--Build/source/texk/xdvipdfmx/src/spc_dvips.c33
-rw-r--r--Build/source/texk/xdvipdfmx/src/spc_html.c29
-rw-r--r--Build/source/texk/xdvipdfmx/src/spc_misc.c12
-rw-r--r--Build/source/texk/xdvipdfmx/src/spc_pdfm.c10
-rw-r--r--Build/source/texk/xdvipdfmx/src/spc_tpic.c17
-rw-r--r--Build/source/texk/xdvipdfmx/src/spc_util.c4
-rw-r--r--Build/source/texk/xdvipdfmx/src/spc_xtx.c8
-rw-r--r--Build/source/texk/xdvipdfmx/src/specials.c7
-rw-r--r--Build/source/texk/xdvipdfmx/src/specials.h8
-rw-r--r--Build/source/texk/xdvipdfmx/src/subfont.c9
-rw-r--r--Build/source/texk/xdvipdfmx/src/t1_char.c6
-rw-r--r--Build/source/texk/xdvipdfmx/src/t1_load.c4
-rw-r--r--Build/source/texk/xdvipdfmx/src/t1_load.h2
-rw-r--r--Build/source/texk/xdvipdfmx/src/truetype.c9
-rw-r--r--Build/source/texk/xdvipdfmx/src/tt_glyf.c6
-rw-r--r--Build/source/texk/xdvipdfmx/src/tt_post.c10
-rw-r--r--Build/source/texk/xdvipdfmx/src/tt_post.h2
-rw-r--r--Build/source/texk/xdvipdfmx/src/type1.c2
-rw-r--r--Build/source/texk/xdvipdfmx/src/xbb.c4
62 files changed, 415 insertions, 377 deletions
diff --git a/Build/source/texk/xdvipdfmx/src/Makefile.am b/Build/source/texk/xdvipdfmx/src/Makefile.am
index 1f48ccee5f1..992799d5784 100644
--- a/Build/source/texk/xdvipdfmx/src/Makefile.am
+++ b/Build/source/texk/xdvipdfmx/src/Makefile.am
@@ -34,7 +34,7 @@ xdvipdfmx_SOURCES = \
type0.h t1_char.h t1_load.h type1.h type1c.h \
unicode.h vf.h xbb.h
-xdvipdfmx_DEPENDENCIES = $(KPATHSEA_DEPEND) $(FREETYPE2_DEPEND) $(LIBPNG_DEPEND) $(ZLIB_DEPEND)
+xdvipdfmx_DEPENDENCIES = $(ZLIB_DEPEND) $(LIBPNG_DEPEND) $(LIBPNG_FREETYPE2) $(KPATHSEA_DEPEND)
LDADD = $(KPATHSEA_LIBS) $(FREETYPE2_LIBS) $(LIBPNG_LIBS) $(ZLIB_LIBS)
diff --git a/Build/source/texk/xdvipdfmx/src/Makefile.in b/Build/source/texk/xdvipdfmx/src/Makefile.in
index 4459d809600..48ff3be9919 100644
--- a/Build/source/texk/xdvipdfmx/src/Makefile.in
+++ b/Build/source/texk/xdvipdfmx/src/Makefile.in
@@ -40,8 +40,7 @@ bin_PROGRAMS = xdvipdfmx$(EXEEXT)
subdir = src
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/../../m4/cho-kpse.m4 \
- $(top_srcdir)/../../m4/cho-libs.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/../../m4/cho-libs.m4 \
$(top_srcdir)/../../m4/kpse-common.m4 \
$(top_srcdir)/../../m4/kpse-fontconfig-flags.m4 \
$(top_srcdir)/../../m4/kpse-freetype2-flags.m4 \
@@ -55,7 +54,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../../m4/cho-kpse.m4 \
$(top_srcdir)/../../m4/ltsugar.m4 \
$(top_srcdir)/../../m4/ltversion.m4 \
$(top_srcdir)/../../m4/lt~obsolete.m4 \
- $(top_srcdir)/../../m4/maw-time.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../build-aux/mkinstalldirs
@@ -173,6 +172,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
@@ -267,7 +267,7 @@ xdvipdfmx_SOURCES = \
type0.h t1_char.h t1_load.h type1.h type1c.h \
unicode.h vf.h xbb.h
-xdvipdfmx_DEPENDENCIES = $(KPATHSEA_DEPEND) $(FREETYPE2_DEPEND) $(LIBPNG_DEPEND) $(ZLIB_DEPEND)
+xdvipdfmx_DEPENDENCIES = $(ZLIB_DEPEND) $(LIBPNG_DEPEND) $(LIBPNG_FREETYPE2) $(KPATHSEA_DEPEND)
LDADD = $(KPATHSEA_LIBS) $(FREETYPE2_LIBS) $(LIBPNG_LIBS) $(ZLIB_LIBS) \
$(am__append_2)
@build_MacOsX_TRUE@AM_LDFLAGS = -framework ApplicationServices
diff --git a/Build/source/texk/xdvipdfmx/src/agl.c b/Build/source/texk/xdvipdfmx/src/agl.c
index d267d2d42a8..7329e27b2a1 100644
--- a/Build/source/texk/xdvipdfmx/src/agl.c
+++ b/Build/source/texk/xdvipdfmx/src/agl.c
@@ -54,7 +54,7 @@
static int verbose = 0;
-static int agl_load_line(char* p, char* endptr, int is_predef);
+static int agl_load_line(const char* p, const char* endptr, int is_predef);
void
agl_set_verbose (void)
@@ -145,7 +145,7 @@ static const char * const modifiers[] = {
};
static int
-skip_capital (char **p, char *endptr)
+skip_capital (const char **p, const char *endptr)
{
long slen = 0, len;
@@ -180,7 +180,7 @@ skip_capital (char **p, char *endptr)
}
static int
-skip_modifier (char **p, char *endptr)
+skip_modifier (const char **p, const char *endptr)
{
long slen = 0, len;
int i;
@@ -203,12 +203,12 @@ static int
is_smallcap (const char *glyphname)
{
long len, slen;
- char *p, *endptr;
+ const char *p, *endptr;
if (!glyphname)
return 0;
- p = (char *) glyphname;
+ p = glyphname;
len = strlen(glyphname);
if (len < 6 ||
strcmp(p + len - 5, "small"))
@@ -367,13 +367,30 @@ agl_normalized_name (char *glyphname)
static struct ht_table aglmap;
static void
-agl_load_standard_names()
+agl_load_standard_names(void)
{
+#if 0
char** pline = &agl_standard_names[0];
while (**pline != 0) {
agl_load_line(*pline, *pline + strlen(*pline), 1);
++pline;
}
+#else
+#define AGL_BUF_SIZE 1024
+ /* Clumsy, but required for strict const-checking. */
+ int len;
+ const char** pline = &agl_standard_names[0];
+ char agl_buf[1024];
+ while ((len = strlen(*pline)) > 0) {
+ if (len >= AGL_BUF_SIZE) {
+ WARN("Standard AGL line too long:\n%s", *pline);
+ } else {
+ strcpy(agl_buf, *pline);
+ agl_load_line(agl_buf, agl_buf + len, 1);
+ }
+ ++pline;
+ }
+#endif
}
void
@@ -406,9 +423,9 @@ agl_close_map (void)
}
static int
-agl_load_line(char* p, char* endptr, int is_predef)
+agl_load_line(const char* p, const char* endptr, int is_predef)
{
- char *wbuf = p;
+ const char *wbuf = p;
agl_name *agln, *duplicate;
char *nextptr, *name;
int n_unicodes, i;
@@ -495,7 +512,7 @@ int
agl_load_listfile (const char *filename, int is_predef)
{
int count = 0;
- char *p, *endptr;
+ const char *p, *endptr;
char wbuf[WBUF_SIZE];
FILE *fp;
@@ -583,7 +600,7 @@ long
agl_name_convert_unicode (const char *glyphname)
{
long ucv = -1;
- char *p, *e;
+ const char *p, *e;
if (!agl_name_is_unicode(glyphname))
return -1;
@@ -597,11 +614,11 @@ agl_name_convert_unicode (const char *glyphname)
}
if (glyphname[1] == 'n') {
- p = (char *) (glyphname + 3);
+ p = glyphname + 3;
e = p + 4;
}
else {
- p = (char *) (glyphname + 1);
+ p = glyphname + 1;
e = p + 6;
}
ucv = 0;
@@ -658,10 +675,10 @@ static long
put_unicode_glyph (const char *name,
unsigned char **dstpp, unsigned char *limptr)
{
- char *p;
+ const char *p;
long len = 0, ucv;
- p = (char *) name;
+ p = name;
ucv = 0;
if (p[1] != 'n') {
@@ -687,17 +704,18 @@ agl_sput_UTF16BE (const char *glyphstr,
{
long len = 0;
int count = 0;
- char *p, *endptr;
+ const char *p, *endptr;
ASSERT(glyphstr && dstpp);
- p = (char *) glyphstr;
+ p = glyphstr;
endptr = strchr(p, '.');
if (!endptr)
endptr = p + strlen(p);
while (p < endptr) {
- char *name, *delim;
+ char *name;
+ const char *delim;
long sub_len;
int i;
agl_name *agln0, *agln1 = NULL;
@@ -768,15 +786,16 @@ agl_get_unicodes (const char *glyphstr,
long *unicodes, int max_unicodes)
{
int count = 0;
- char *p, *endptr;
+ const char *p, *endptr;
- p = (char *) glyphstr;
+ p = glyphstr;
endptr = strchr(p, '.');
if (!endptr)
endptr = p + strlen(p);
while (p < endptr) {
- char *name, *delim;
+ char *name;
+ const char *delim;
long sub_len;
int i;
agl_name *agln0, *agln1 = NULL;
diff --git a/Build/source/texk/xdvipdfmx/src/agl.h b/Build/source/texk/xdvipdfmx/src/agl.h
index f795277fa6d..d2ac88bc939 100644
--- a/Build/source/texk/xdvipdfmx/src/agl.h
+++ b/Build/source/texk/xdvipdfmx/src/agl.h
@@ -29,7 +29,7 @@
#define AGL_PREDEF_LISTFILE "pdfglyphlist.txt"
#define AGL_EXTRA_LISTFILE "texglyphlist.txt"
-extern char* agl_standard_names[];
+extern const char* agl_standard_names[];
#define AGL_MAX_UNICODES 16
struct agl_name {
diff --git a/Build/source/texk/xdvipdfmx/src/agl_standard.c b/Build/source/texk/xdvipdfmx/src/agl_standard.c
index a7e77a78d93..7f8ee324070 100644
--- a/Build/source/texk/xdvipdfmx/src/agl_standard.c
+++ b/Build/source/texk/xdvipdfmx/src/agl_standard.c
@@ -1,6 +1,6 @@
#include "agl.h"
-char* agl_standard_names[] = {
+const char* agl_standard_names[] = {
"spacehackarabic;0020",
"visiblespace;0020",
"space;0020",
diff --git a/Build/source/texk/xdvipdfmx/src/cff.c b/Build/source/texk/xdvipdfmx/src/cff.c
index b22704593f5..8e6e16a400e 100644
--- a/Build/source/texk/xdvipdfmx/src/cff.c
+++ b/Build/source/texk/xdvipdfmx/src/cff.c
@@ -498,7 +498,7 @@ char *cff_get_string (cff_font *cff, s_SID id)
return result;
}
-long cff_get_sid (cff_font *cff, char *str)
+long cff_get_sid (cff_font *cff, const char *str)
{
card16 i;
diff --git a/Build/source/texk/xdvipdfmx/src/cff.h b/Build/source/texk/xdvipdfmx/src/cff.h
index 6aca8c4b12e..08091cbc0f6 100644
--- a/Build/source/texk/xdvipdfmx/src/cff.h
+++ b/Build/source/texk/xdvipdfmx/src/cff.h
@@ -146,7 +146,7 @@ extern unsigned short* cff_get_ft_to_gid(cff_font *cff);
/* String */
extern int cff_match_string (cff_font *cff, const char *str, s_SID sid);
extern char *cff_get_string (cff_font *cff, s_SID id);
-extern long cff_get_sid (cff_font *cff, char *str);
+extern long cff_get_sid (cff_font *cff, const char *str);
extern s_SID cff_add_string (cff_font *cff, const char *str, int unique);
extern void cff_update_string (cff_font *cff);
diff --git a/Build/source/texk/xdvipdfmx/src/cff_dict.c b/Build/source/texk/xdvipdfmx/src/cff_dict.c
index d529d27dbe1..7e88623536d 100644
--- a/Build/source/texk/xdvipdfmx/src/cff_dict.c
+++ b/Build/source/texk/xdvipdfmx/src/cff_dict.c
@@ -309,7 +309,7 @@ static void add_dict (cff_dict *dict,
}
(dict->entries)[dict->count].id = id;
- (dict->entries)[dict->count].key = (char *) dict_operator[id].opname;
+ (dict->entries)[dict->count].key = dict_operator[id].opname;
if (argtype == CFF_TYPE_NUMBER ||
argtype == CFF_TYPE_BOOLEAN ||
argtype == CFF_TYPE_SID ||
@@ -610,7 +610,7 @@ void cff_dict_add (cff_dict *dict, const char *key, int count)
}
(dict->entries)[dict->count].id = id;
- (dict->entries)[dict->count].key = (char *) dict_operator[id].opname;
+ (dict->entries)[dict->count].key = dict_operator[id].opname;
(dict->entries)[dict->count].count = count;
if (count > 0) {
(dict->entries)[dict->count].values = NEW(count, double);
diff --git a/Build/source/texk/xdvipdfmx/src/cff_types.h b/Build/source/texk/xdvipdfmx/src/cff_types.h
index ede20b64199..33173efebda 100644
--- a/Build/source/texk/xdvipdfmx/src/cff_types.h
+++ b/Build/source/texk/xdvipdfmx/src/cff_types.h
@@ -68,7 +68,7 @@ typedef struct {
/* Dictionary */
typedef struct {
int id; /* encoded data value (as card8 or card16) */
- char *key; /* opname */
+ const char *key; /* opname */
int count; /* number of values */
double *values; /* values */
} cff_dict_entry;
diff --git a/Build/source/texk/xdvipdfmx/src/cid.c b/Build/source/texk/xdvipdfmx/src/cid.c
index 028af90f9d0..3fea81f0be6 100644
--- a/Build/source/texk/xdvipdfmx/src/cid.c
+++ b/Build/source/texk/xdvipdfmx/src/cid.c
@@ -447,10 +447,10 @@ CIDFont_base_open (CIDFont *font, const char *name, CIDSysInfo *cmap_csi, cid_op
start = cid_basefont[idx].fontdict;
end = start + strlen(start);
- fontdict = parse_pdf_dict((char **)&start, (char *)end, NULL);
+ fontdict = parse_pdf_dict(&start, end, NULL);
start = cid_basefont[idx].descriptor;
end = start + strlen(start);
- descriptor = parse_pdf_dict((char **)&start, (char *)end, NULL);
+ descriptor = parse_pdf_dict(&start, end, NULL);
ASSERT(fontdict && descriptor);
}
diff --git a/Build/source/texk/xdvipdfmx/src/cidtype0.c b/Build/source/texk/xdvipdfmx/src/cidtype0.c
index 5a5edd089c3..197aa6a6a5c 100644
--- a/Build/source/texk/xdvipdfmx/src/cidtype0.c
+++ b/Build/source/texk/xdvipdfmx/src/cidtype0.c
@@ -1090,9 +1090,9 @@ CIDFont_type0_t1cdofont (CIDFont *font)
/* CFF code need to be rewrote... */
cff_dict_add(cffont->topdict, "ROS", 3);
cff_dict_set(cffont->topdict, "ROS", 0,
- (double) cff_get_sid(cffont, (char *)"Adobe"));
+ (double) cff_get_sid(cffont, "Adobe"));
cff_dict_set(cffont->topdict, "ROS", 1,
- (double) cff_get_sid(cffont, (char *)"Identity"));
+ (double) cff_get_sid(cffont, "Identity"));
cff_dict_set(cffont->topdict, "ROS", 2, 0.0);
destlen = write_fontfile(font, cffont);
@@ -2038,9 +2038,9 @@ CIDFont_type0_t1dofont (CIDFont *font)
/* CFF code need to be rewrote... */
cff_dict_add(cffont->topdict, "ROS", 3);
cff_dict_set(cffont->topdict, "ROS", 0,
- (double) cff_get_sid(cffont, (char *)"Adobe"));
+ (double) cff_get_sid(cffont, "Adobe"));
cff_dict_set(cffont->topdict, "ROS", 1,
- (double) cff_get_sid(cffont, (char *)"Identity"));
+ (double) cff_get_sid(cffont, "Identity"));
cff_dict_set(cffont->topdict, "ROS", 2, 0.0);
cffont->num_glyphs = num_glyphs;
diff --git a/Build/source/texk/xdvipdfmx/src/cidtype2.c b/Build/source/texk/xdvipdfmx/src/cidtype2.c
index 734bea33c94..d7606181c6a 100644
--- a/Build/source/texk/xdvipdfmx/src/cidtype2.c
+++ b/Build/source/texk/xdvipdfmx/src/cidtype2.c
@@ -184,7 +184,7 @@ find_tocode_cmap (const char *reg, const char *ord, int select)
{
int cmap_id = -1, i;
char *cmap_name;
- char *append;
+ const char *append;
if (!reg || !ord ||
select < 0 || select > KNOWN_ENCODINGS_MAX)
@@ -195,7 +195,7 @@ find_tocode_cmap (const char *reg, const char *ord, int select)
return NULL;
for (i = 0; cmap_id < 0 && i < 5; i++) {
- append = (char *) known_encodings[select].pdfnames[i];
+ append = known_encodings[select].pdfnames[i];
if (!append)
break;
cmap_name = NEW(strlen(reg) + strlen(ord) + strlen(append) + 3, char);
@@ -207,7 +207,7 @@ find_tocode_cmap (const char *reg, const char *ord, int select)
WARN("Could not find CID-to-Code mapping for \"%s-%s\".", reg, ord);
WARN("I tried to load (one of) the following file(s):");
for (i = 0; i < 5; i++) {
- append = (char *) known_encodings[select].pdfnames[i];
+ append = known_encodings[select].pdfnames[i];
if (!append)
break;
MESG(" %s-%s-%s", reg, ord, append);
diff --git a/Build/source/texk/xdvipdfmx/src/cmap.c b/Build/source/texk/xdvipdfmx/src/cmap.c
index 2df1917707f..4dbe4b7537f 100644
--- a/Build/source/texk/xdvipdfmx/src/cmap.c
+++ b/Build/source/texk/xdvipdfmx/src/cmap.c
@@ -254,10 +254,11 @@ CMap_decode_char (CMap *cmap,
unsigned char **outbuf, long *outbytesleft)
{
mapDef *t;
- unsigned char *p, c = 0, *save;
+ const unsigned char *p, *save;
+ unsigned char c = 0;
long count = 0;
- p = save = (unsigned char *) *inbuf;
+ p = save = *inbuf;
/*
* First handle some special cases:
*/
diff --git a/Build/source/texk/xdvipdfmx/src/cmap_write.c b/Build/source/texk/xdvipdfmx/src/cmap_write.c
index b7e8ea75dba..5b25ff7158f 100644
--- a/Build/source/texk/xdvipdfmx/src/cmap_write.c
+++ b/Build/source/texk/xdvipdfmx/src/cmap_write.c
@@ -344,7 +344,7 @@ CMap_create_stream (CMap *cmap, int flags) /* flags unused */
2 * (cmap->profile.maxBytesIn + cmap->profile.maxBytesOut) + 16;
/* Start CMap */
- pdf_add_stream(stream, (void *) CMAP_BEGIN, strlen(CMAP_BEGIN));
+ pdf_add_stream(stream, (const void *) CMAP_BEGIN, strlen(CMAP_BEGIN));
wbuf.curptr += sprintf(wbuf.curptr, "/CMapName /%s def\n", cmap->name);
wbuf.curptr += sprintf(wbuf.curptr, "/CMapType %d def\n" , cmap->type);
diff --git a/Build/source/texk/xdvipdfmx/src/dpxcrypt.c b/Build/source/texk/xdvipdfmx/src/dpxcrypt.c
index 36174f28e6f..e2666c1d4d3 100644
--- a/Build/source/texk/xdvipdfmx/src/dpxcrypt.c
+++ b/Build/source/texk/xdvipdfmx/src/dpxcrypt.c
@@ -87,7 +87,7 @@ void MD5_init (MD5_CONTEXT *ctx)
#define FI(b, c, d) (c ^ (b | ~d))
/* transform n*64 bytes */
-static void transform (MD5_CONTEXT *ctx, unsigned char *data)
+static void transform (MD5_CONTEXT *ctx, const unsigned char *data)
{
unsigned long correct_words[16];
register unsigned long A = ctx->A;
@@ -97,7 +97,7 @@ static void transform (MD5_CONTEXT *ctx, unsigned char *data)
unsigned long *cwp = correct_words;
#ifdef WORDS_BIGENDIAN
- { int i; unsigned char *p1, *p2;
+ { int i; const unsigned char *p1; unsigned char *p2;
for (i = 0, p1 = data, p2 = (unsigned char *)correct_words; i < 16; i++, p2 += 4 ) {
p2[3] = *p1++; p2[2] = *p1++; p2[1] = *p1++; p2[0] = *p1++;
}
@@ -201,7 +201,7 @@ static void transform (MD5_CONTEXT *ctx, unsigned char *data)
/* The routine updates the message-digest context to
* account for the presence of each of the characters inBuf[0..inLen-1]
* in the message whose digest is being computed. */
-void MD5_write (MD5_CONTEXT *hd, unsigned char *inbuf, unsigned long inlen)
+void MD5_write (MD5_CONTEXT *hd, const unsigned char *inbuf, unsigned long inlen)
{
if (hd->count == 64) { /* flush the buffer */
transform(hd, hd->buf);
diff --git a/Build/source/texk/xdvipdfmx/src/dpxcrypt.h b/Build/source/texk/xdvipdfmx/src/dpxcrypt.h
index 98155a6e3e1..77ca47888d4 100644
--- a/Build/source/texk/xdvipdfmx/src/dpxcrypt.h
+++ b/Build/source/texk/xdvipdfmx/src/dpxcrypt.h
@@ -34,7 +34,7 @@ typedef struct {
} MD5_CONTEXT;
void MD5_init (MD5_CONTEXT *ctx);
-void MD5_write (MD5_CONTEXT *ctx, unsigned char *inbuf, unsigned long inlen);
+void MD5_write (MD5_CONTEXT *ctx, const unsigned char *inbuf, unsigned long inlen);
void MD5_final (unsigned char *outbuf, MD5_CONTEXT *ctx);
/* libgcrypt arcfour */
diff --git a/Build/source/texk/xdvipdfmx/src/dpxfile.c b/Build/source/texk/xdvipdfmx/src/dpxfile.c
index c74e9817151..eca78d0f9ce 100644
--- a/Build/source/texk/xdvipdfmx/src/dpxfile.c
+++ b/Build/source/texk/xdvipdfmx/src/dpxfile.c
@@ -187,8 +187,7 @@ dpx_foolsearch (const char *foolname,
return fqpn;
}
-#else /* TEXK */
-#if defined(__TDS_VERSION__) && __TDS_VERSION__ >= 0x200406L
+#else /* !MIKTEX */
# define TDS11DOC "http://www.tug.org/ftp/tex/tds-1.1/tds.html#Fonts"
static void
insistupdate (const char *filename,
@@ -214,7 +213,6 @@ insistupdate (const char *filename,
WARN(">> %s", fir->default_path);
WARN(">> Please read \"README\" file.");
}
-#endif /* TDS 1.1 */
static char *
dpx_find__app__xyz (const char *filename,
@@ -353,11 +351,9 @@ dpx_find_fontmap_file (const char *filename)
fqpn = kpse_find_file(q, kpse_fontmap_format, 0);
if (!fqpn) {
fqpn = dpx_find__app__xyz(q, ".map", 1);
-#if defined(__TDS_VERSION__) && __TDS_VERSION__ >= 0x200406L
if (fqpn)
insistupdate(q, fqpn, PACKAGE,
kpse_program_text_format, kpse_fontmap_format);
-#endif
}
#endif /* MIKETEX */
RELEASE(q);
@@ -379,11 +375,9 @@ dpx_find_agl_file (const char *filename)
fqpn = kpse_find_file(q, kpse_fontmap_format, 0);
if (!fqpn) {
fqpn = dpx_find__app__xyz(q, ".txt", 1);
-#if defined(__TDS_VERSION__) && __TDS_VERSION__ >= 0x200406L
if (fqpn)
insistupdate(q, fqpn, PACKAGE,
kpse_program_text_format, kpse_fontmap_format);
-#endif
}
#endif /* MIKETEX */
RELEASE(q);
@@ -430,9 +424,7 @@ dpx_find_cmap_file (const char *filename)
memset(_tmpbuf, 0, _MAX_PATH+1);
}
#else
-#if defined(__TDS_VERSION__) && __TDS_VERSION__ >= 0x200406L
fqpn = kpse_find_file(filename, kpse_cmap_format, 0);
-#endif
#endif
/* Files found above are assumed to be CMap,
@@ -442,11 +434,9 @@ dpx_find_cmap_file (const char *filename)
fqpn = dpx_foolsearch(fools[i], filename, 1);
if (fqpn) {
#ifndef MIKTEX
-#if defined(__TDS_VERSION__) && __TDS_VERSION__ >= 0x200406L
insistupdate(filename, fqpn, fools[i],
kpse_program_text_format, kpse_cmap_format);
#endif
-#endif
if (!qcheck_filetype(fqpn, DPX_RES_TYPE_CMAP)) {
WARN("Found file \"%s\" for PostScript CMap but it doesn't look like a CMap...", fqpn);
RELEASE(fqpn);
@@ -477,20 +467,16 @@ dpx_find_sfd_file (const char *filename)
q = ensuresuffix(filename, ".sfd");
#ifndef MIKTEX
-#if defined(__TDS_VERSION__) && __TDS_VERSION__ >= 0x200406L
fqpn = kpse_find_file(q, kpse_sfd_format, 0);
-#endif
#endif /* !MIKTEX */
for (i = 0; !fqpn && fools[i]; i++) {
fqpn = dpx_foolsearch(fools[i], q, 1);
#ifndef MIKTEX
-#if defined(__TDS_VERSION__) && __TDS_VERSION__ >= 0x200406L
if (fqpn)
insistupdate(filename, fqpn, fools[i],
kpse_program_text_format, kpse_sfd_format);
#endif
-#endif
}
RELEASE(q);
@@ -515,22 +501,16 @@ dpx_find_enc_file (const char *filename)
strcpy(fqpn, _tmpbuf);
}
#else
-# if defined(__TDS_VERSION__) && __TDS_VERSION__ >= 0x200406L
fqpn = kpse_find_file(q, kpse_enc_format, 0);
-# else
- fqpn = kpse_find_file(q, kpse_tex_ps_header_format, 0);
-# endif
#endif /* MIKTEX */
for (i = 0; !fqpn && fools[i]; i++) {
fqpn = dpx_foolsearch(fools[i], q, 1);
#ifndef MIKTEX
-#if defined(__TDS_VERSION__) && __TDS_VERSION__ >= 0x200406L
if (fqpn)
insistupdate(filename, fqpn, fools[i],
kpse_program_text_format, kpse_enc_format);
#endif
-#endif
}
RELEASE(q);
@@ -596,23 +576,19 @@ dpx_find_opentype_file (const char *filename)
q = ensuresuffix(filename, ".otf");
#ifndef MIKTEX
-#if defined(__TDS_VERSION__) && __TDS_VERSION__ >= 0x200406L
if (is_absolute_path(q))
fqpn = strdup(q);
else
fqpn = kpse_find_file(q, kpse_opentype_format, 0);
if (!fqpn) {
#endif
-#endif
fqpn = dpx_foolsearch(PACKAGE, q, 0);
#ifndef MIKTEX
-#if defined(__TDS_VERSION__) && __TDS_VERSION__ >= 0x200406L
if (fqpn)
insistupdate(filename, fqpn, PACKAGE,
kpse_program_binary_format, kpse_opentype_format);
}
#endif
-#endif
RELEASE(q);
/* *We* use "opentype" for ".otf" (CFF). */
@@ -670,14 +646,14 @@ dpx_create_temp_file (void)
# define __TMPDIR "/tmp"
# define TEMPLATE "/dvipdfmx.XXXXXXXX"
{
- char *_tmpd;
+ const char *_tmpd;
int _fd = -1;
# ifdef HAVE_GETENV
_tmpd = getenv("TMPDIR");
if (!_tmpd)
- _tmpd = (char *) __TMPDIR;
+ _tmpd = __TMPDIR;
# else
- _tmpd = (char *) __TMPDIR;
+ _tmpd = __TMPDIR;
# endif /* HAVE_GETENV */
tmp = NEW(strlen(_tmpd) + strlen(TEMPLATE) + 1, char);
strcpy(tmp, _tmpd);
@@ -731,7 +707,7 @@ dpx_file_apply_filter (const char *cmdtmpl,
unsigned char version)
{
char *cmd = NULL;
- char *p, *q;
+ const char *p, *q;
size_t n, size;
int error = 0;
@@ -743,7 +719,7 @@ dpx_file_apply_filter (const char *cmdtmpl,
size = strlen(cmdtmpl) + strlen(input) + strlen(output) + 3;
cmd = NEW(size, char);
memset(cmd, 0, size);
- for (n = 0, p = (char *) cmdtmpl; *p != 0; p++) {
+ for (n = 0, p = cmdtmpl; *p != 0; p++) {
#define need(s,l,m,n) \
if ((l) + (n) >= (m)) { \
(m) += (n) + 128; \
diff --git a/Build/source/texk/xdvipdfmx/src/dpxutil.c b/Build/source/texk/xdvipdfmx/src/dpxutil.c
index a30a3269dfa..70676206cd6 100644
--- a/Build/source/texk/xdvipdfmx/src/dpxutil.c
+++ b/Build/source/texk/xdvipdfmx/src/dpxutil.c
@@ -209,7 +209,7 @@ get_hash (const void *key, int keylen)
int i;
for (i = 0; i < keylen; i++) {
- hkey = (hkey << 5) + hkey + ((char *)key)[i];
+ hkey = (hkey << 5) + hkey + ((const char *)key)[i];
}
return (hkey % HASH_TABLE_SIZE);
@@ -425,10 +425,10 @@ ht_iter_next (struct ht_iter *iter)
static int
-read_c_escchar (char *r, char **pp, char *endptr)
+read_c_escchar (char *r, const char **pp, const char *endptr)
{
int c = 0, l = 1;
- char *p = *pp;
+ const char *p = *pp;
switch (p[0]) {
case 'a' : c = '\a'; p++; break;
@@ -487,9 +487,9 @@ read_c_escchar (char *r, char **pp, char *endptr)
#define C_QUOTE '"'
#define C_ESCAPE '\\'
static int
-read_c_litstrc (char *q, int len, char **pp, char *endptr)
+read_c_litstrc (char *q, int len, const char **pp, const char *endptr)
{
- char *p;
+ const char *p;
int l = 0;
#define Q_TERM 0
#define Q_CONT -1
@@ -540,10 +540,10 @@ read_c_litstrc (char *q, int len, char **pp, char *endptr)
}
char *
-parse_c_string (char **pp, char *endptr)
+parse_c_string (const char **pp, const char *endptr)
{
char *q = NULL;
- char *p = *pp;
+ const char *p = *pp;
int l = 0;
if (p >= endptr || p[0] != C_QUOTE)
@@ -572,10 +572,10 @@ parse_c_string (char **pp, char *endptr)
)
char *
-parse_c_ident (char **pp, char *endptr)
+parse_c_ident (const char **pp, const char *endptr)
{
char *q = NULL;
- char *p = *pp;
+ const char *p = *pp;
int n;
if (p >= endptr || !ISCNONDIGITS(*p))
@@ -590,10 +590,10 @@ parse_c_ident (char **pp, char *endptr)
}
char *
-parse_float_decimal (char **pp, char *endptr)
+parse_float_decimal (const char **pp, const char *endptr)
{
char *q = NULL;
- char *p = *pp;
+ const char *p = *pp;
int s = 0, n = 0;
if (p >= endptr)
diff --git a/Build/source/texk/xdvipdfmx/src/dpxutil.h b/Build/source/texk/xdvipdfmx/src/dpxutil.h
index 09a755c22b8..11ca23f2040 100644
--- a/Build/source/texk/xdvipdfmx/src/dpxutil.h
+++ b/Build/source/texk/xdvipdfmx/src/dpxutil.h
@@ -94,8 +94,8 @@ extern char *ht_iter_getkey (struct ht_iter *iter, int *keylen);
extern void *ht_iter_getval (struct ht_iter *iter);
extern int ht_iter_next (struct ht_iter *iter);
-extern char *parse_float_decimal (char **pp, char *endptr);
-extern char *parse_c_string (char **pp, char *endptr);
-extern char *parse_c_ident (char **pp, char *endptr);
+extern char *parse_float_decimal (const char **pp, const char *endptr);
+extern char *parse_c_string (const char **pp, const char *endptr);
+extern char *parse_c_ident (const char **pp, const char *endptr);
#endif /* _DPXUTIL_H_ */
diff --git a/Build/source/texk/xdvipdfmx/src/dvi.c b/Build/source/texk/xdvipdfmx/src/dvi.c
index 7aaae027ff8..c1174b17730 100644
--- a/Build/source/texk/xdvipdfmx/src/dvi.c
+++ b/Build/source/texk/xdvipdfmx/src/dvi.c
@@ -296,12 +296,12 @@ static void get_and_buffer_bytes(FILE *file, unsigned int count)
/* functions to fetch values from dvi_page_buffer */
-static UNSIGNED_BYTE get_buffered_unsigned_byte ()
+static UNSIGNED_BYTE get_buffered_unsigned_byte (void)
{
return dvi_page_buffer[dvi_page_buf_index++];
}
-static SIGNED_BYTE get_buffered_signed_byte ()
+static SIGNED_BYTE get_buffered_signed_byte (void)
{
int byte;
byte = dvi_page_buffer[dvi_page_buf_index++];
@@ -310,7 +310,7 @@ static SIGNED_BYTE get_buffered_signed_byte ()
return (SIGNED_BYTE) byte;
}
-static UNSIGNED_PAIR get_buffered_unsigned_pair ()
+static UNSIGNED_PAIR get_buffered_unsigned_pair (void)
{
int i;
UNSIGNED_BYTE byte;
@@ -322,7 +322,7 @@ static UNSIGNED_PAIR get_buffered_unsigned_pair ()
return pair;
}
-static SIGNED_PAIR get_buffered_signed_pair ()
+static SIGNED_PAIR get_buffered_signed_pair (void)
{
int i;
long pair = 0;
@@ -335,7 +335,7 @@ static SIGNED_PAIR get_buffered_signed_pair ()
return (SIGNED_PAIR) pair;
}
-static UNSIGNED_TRIPLE get_buffered_unsigned_triple()
+static UNSIGNED_TRIPLE get_buffered_unsigned_triple(void)
{
int i;
long triple = 0;
@@ -345,7 +345,7 @@ static UNSIGNED_TRIPLE get_buffered_unsigned_triple()
return (UNSIGNED_TRIPLE) triple;
}
-static SIGNED_TRIPLE get_buffered_signed_triple()
+static SIGNED_TRIPLE get_buffered_signed_triple(void)
{
int i;
long triple = 0;
@@ -357,7 +357,7 @@ static SIGNED_TRIPLE get_buffered_signed_triple()
return (SIGNED_TRIPLE) triple;
}
-static SIGNED_QUAD get_buffered_signed_quad()
+static SIGNED_QUAD get_buffered_signed_quad(void)
{
int byte, i;
long quad = 0;
@@ -373,7 +373,7 @@ static SIGNED_QUAD get_buffered_signed_quad()
return (SIGNED_QUAD) quad;
}
-static UNSIGNED_QUAD get_buffered_unsigned_quad()
+static UNSIGNED_QUAD get_buffered_unsigned_quad(void)
{
int i;
unsigned long quad = 0;
@@ -871,7 +871,7 @@ void
dvi_do_special (const void *buffer, UNSIGNED_QUAD size)
{
double x_user, y_user, mag;
- char *p;
+ const char *p;
if (size > 0x7fffffffUL) {
WARN("Special more than %ul bytes???", size);
@@ -880,7 +880,7 @@ dvi_do_special (const void *buffer, UNSIGNED_QUAD size)
graphics_mode();
- p = (char *) buffer;
+ p = (const char *) buffer;
x_user = dvi_state.h * dvi2pts;
y_user = -dvi_state.v * dvi2pts;
@@ -2012,7 +2012,7 @@ do_glyph_array (int yLocsPresent)
}
static void
-do_pic_file()
+do_pic_file(void)
/* parameters for XDV_PIC_FILE opcode: pdf_box[1] t[4][6] p[2] len[2] path[l] */
{
UNSIGNED_BYTE pdf_box;
@@ -2424,9 +2424,10 @@ dvi_vf_finish (void)
* length value must be divided by current magnification.
*/
static int
-read_length (double *vp, double mag, char **pp, char *endptr)
+read_length (double *vp, double mag, const char **pp, const char *endptr)
{
- char *q, *p = *pp;
+ char *q;
+ const char *p = *pp;
double v, u = 1.0;
const char *_ukeys[] = {
#define K_UNIT__PT 0
@@ -2491,8 +2492,8 @@ read_length (double *vp, double mag, char **pp, char *endptr)
static int
scan_special (double *wd, double *ht, double *xo, double *yo, char *lm, const char *buf, UNSIGNED_QUAD size)
{
- char *q, *p = (char *) buf;
- char *endptr;
+ char *q;
+ const char *p = buf, *endptr;
int ns_pdf = 0, ns_xtx = 0, error = 0;
double tmp;
extern double paper_width, paper_height;
diff --git a/Build/source/texk/xdvipdfmx/src/dvipdfmx.c b/Build/source/texk/xdvipdfmx/src/dvipdfmx.c
index c2f9190af31..ed1f0535744 100644
--- a/Build/source/texk/xdvipdfmx/src/dvipdfmx.c
+++ b/Build/source/texk/xdvipdfmx/src/dvipdfmx.c
@@ -188,9 +188,10 @@ usage (int exit_code)
static int
-read_length (double *vp, char **pp, char *endptr)
+read_length (double *vp, const char **pp, const char *endptr)
{
- char *q, *p = *pp;
+ char *q;
+ const char *p = *pp;
double v, u = 1.0;
const char *_ukeys[] = {
#define K_UNIT__PT 0
@@ -261,7 +262,7 @@ select_paper (const char *paperspec)
paper_width = paperpswidth (pi);
paper_height = paperpsheight(pi);
} else {
- char *p = (char *) paperspec, *endptr, *comma;
+ const char *p = paperspec, *endptr, *comma;
comma = strchr(p, ',');
endptr = p + strlen(p);
if (!comma)
@@ -285,7 +286,8 @@ int max_page_ranges = 0;
static void
select_pages (const char *pagespec)
{
- char *q, *p = (char *) pagespec;
+ char *q;
+ const char *p = pagespec;
while (*p != '\0') {
/* Enlarge page range table if necessary */
@@ -402,19 +404,19 @@ do_args (int argc, char *argv[])
case 'g':
CHECK_ARG(1, "annotation \"grow\" amount");
nextptr = argv[1];
- read_length(&annot_grow, &nextptr, nextptr + strlen(nextptr));
+ read_length(&annot_grow, (const char **) &nextptr, nextptr + strlen(nextptr));
POP_ARG();
break;
case 'x':
CHECK_ARG(1, "horizontal offset value");
nextptr = argv[1];
- read_length(&x_offset, &nextptr, nextptr + strlen(nextptr));
+ read_length(&x_offset, (const char **) &nextptr, nextptr + strlen(nextptr));
POP_ARG();
break;
case 'y':
CHECK_ARG(1, "vertical offset value");
nextptr = argv[1];
- read_length(&y_offset, &nextptr, nextptr + strlen(nextptr));
+ read_length(&y_offset, (const char **) &nextptr, nextptr + strlen(nextptr));
POP_ARG();
break;
case 'o':
@@ -583,7 +585,8 @@ cleanup (void)
static void
read_config_file (const char *config)
{
- char *start, *end, *option;
+ const char *start, *end;
+ char *option;
FILE *fp;
fp = DPXFOPEN(config, DPX_RES_TYPE_TEXT);
diff --git a/Build/source/texk/xdvipdfmx/src/epdf.c b/Build/source/texk/xdvipdfmx/src/epdf.c
index da39bb89fba..c9370f9f92a 100644
--- a/Build/source/texk/xdvipdfmx/src/epdf.c
+++ b/Build/source/texk/xdvipdfmx/src/epdf.c
@@ -344,7 +344,7 @@ pdf_get_page_content (pdf_obj* page)
/*
* Concatenate all content streams.
*/
- pdf_obj *content_seg, *content_new;
+ pdf_obj *content_seg;
int idx = 0;
content_new = pdf_new_stream(STREAM_COMPRESS);
for (;;) {
@@ -565,7 +565,8 @@ pdf_copy_clip (FILE *image_file, int pageNo, double x_user, double y_user)
{
pdf_obj *page_tree, *contents;
int depth = 0, top = -1;
- char *clip_path, *temp, *end_path;
+ const char *clip_path, *end_path;
+ char *save_path, *temp;
pdf_tmatrix M;
double stack[6];
pdf_file *pf;
@@ -592,8 +593,9 @@ pdf_copy_clip (FILE *image_file, int pageNo, double x_user, double y_user)
pdf_doc_add_page_content(" ", 1);
- clip_path = malloc(pdf_stream_length(contents) + 1);
- strncpy(clip_path, (char*)pdf_stream_dataptr(contents), pdf_stream_length(contents));
+ save_path = malloc(pdf_stream_length(contents) + 1);
+ strncpy(save_path, (const char *) pdf_stream_dataptr(contents), pdf_stream_length(contents));
+ clip_path = save_path;
end_path = clip_path + pdf_stream_length(contents);
depth = 0;
@@ -796,9 +798,7 @@ pdf_copy_clip (FILE *image_file, int pageNo, double x_user, double y_user)
}
}
}
- clip_path = end_path;
- clip_path -= pdf_stream_length(contents);
- free(clip_path);
+ free(save_path);
pdf_release_obj(contents);
pdf_close(pf);
diff --git a/Build/source/texk/xdvipdfmx/src/fontmap.c b/Build/source/texk/xdvipdfmx/src/fontmap.c
index 0396d4c05ea..949bd1adb23 100644
--- a/Build/source/texk/xdvipdfmx/src/fontmap.c
+++ b/Build/source/texk/xdvipdfmx/src/fontmap.c
@@ -244,9 +244,9 @@ readline (char *buf, int buf_len, FILE *fp)
# define ISBLANK(c) ((c) == ' ' || (c) == '\t')
#endif
static void
-skip_blank (char **pp, char *endptr)
+skip_blank (const char **pp, const char *endptr)
{
- char *p = *pp;
+ const char *p = *pp;
if (!p || p >= endptr)
return;
for ( ; p < endptr && ISBLANK(*p); p++);
@@ -254,9 +254,10 @@ skip_blank (char **pp, char *endptr)
}
static char *
-parse_string_value (char **pp, char *endptr)
+parse_string_value (const char **pp, const char *endptr)
{
- char *q = NULL, *p = *pp;
+ char *q = NULL;
+ const char *p = *pp;
int n;
if (!p || p >= endptr)
@@ -277,9 +278,10 @@ parse_string_value (char **pp, char *endptr)
/* no preceeding spaces allowed */
static char *
-parse_integer_value (char **pp, char *endptr, int base)
+parse_integer_value (const char **pp, const char *endptr, int base)
{
- char *q, *p = *pp;
+ char *q;
+ const char *p = *pp;
int has_sign = 0, has_prefix = 0, n;
ASSERT( base == 0 || (base >= 2 && base <= 36) );
@@ -330,9 +332,9 @@ parse_integer_value (char **pp, char *endptr, int base)
static int
fontmap_parse_mapdef_dpm (fontmap_rec *mrec,
- const char *mapdef, char *endptr)
+ const char *mapdef, const char *endptr)
{
- char *p = (char *) mapdef;
+ const char *p = mapdef;
/*
* Parse record line in map file. First two fields (after TeX font
@@ -507,7 +509,7 @@ fontmap_parse_mapdef_dpm (fontmap_rec *mrec,
RELEASE(q);
return -1;
}
- *r = 0; r++; skip_blank(&r, r + strlen(r));
+ *r = 0; r++; skip_blank((const char **)&r, r + strlen(r));
if (*r == '\0') {
WARN("Invalid value for option 'm': %s,", q);
RELEASE(q);
@@ -578,9 +580,10 @@ fontmap_parse_mapdef_dpm (fontmap_rec *mrec,
/* Parse record line in map file of DVIPS/pdfTeX format. */
static int
fontmap_parse_mapdef_dps (fontmap_rec *mrec,
- const char *mapdef, char *endptr)
+ const char *mapdef, const char *endptr)
{
- char *p = (char *)mapdef, *q;
+ const char *p = mapdef;
+ char *q;
skip_blank(&p, endptr);
@@ -614,7 +617,8 @@ fontmap_parse_mapdef_dps (fontmap_rec *mrec,
case '"': /* Options */
if ((q = parse_string_value(&p, endptr))) {
- char *r = q, *e = q+strlen(q), *s, *t;
+ const char *r = q, *e = q+strlen(q);
+ char *s, *t;
skip_blank(&r, e);
while (r < e) {
if ((s = parse_float_decimal(&r, e))) {
@@ -666,7 +670,7 @@ chop_sfd_name (const char *tex_name, char **sfd_name)
*sfd_name = NULL;
- p = strchr((char *) tex_name, '@');
+ p = strchr(tex_name, '@');
if (!p ||
p[1] == '\0' || p == tex_name) {
return NULL;
@@ -891,11 +895,12 @@ int
pdf_read_fontmap_line (fontmap_rec *mrec, const char *mline, long mline_len, int format)
{
int error;
- char *q, *p, *endptr;
+ char *q;
+ const char *p, *endptr;
ASSERT(mrec);
- p = (char *) mline;
+ p = mline;
endptr = p + mline_len;
skip_blank(&p, endptr);
@@ -946,12 +951,12 @@ int
is_pdfm_mapline (const char *mline) /* NULL terminated. */
{
int n = 0;
- char *p, *endptr;
+ const char *p, *endptr;
if (strchr(mline, '"') || strchr(mline, '<'))
return -1; /* DVIPS/pdfTeX format */
- p = (char *) mline;
+ p = mline;
endptr = p + strlen(mline);
skip_blank(&p, endptr);
@@ -973,7 +978,7 @@ pdf_load_fontmap_file (const char *filename, int mode)
{
fontmap_rec *mrec;
FILE *fp;
- char *p = NULL, *endptr;
+ const char *p = NULL, *endptr;
long llen, lpos = 0;
int error = 0, format = 0;
@@ -1231,7 +1236,7 @@ pdf_load_native_font (const char *ps_name,
for (i = 0; i < matches->nfont; i++) {
FcChar8 *path;
- char *name;
+ const char *name;
int index;
FT_Face face;
if (FcPatternGetString(matches->fonts[i],
@@ -1239,7 +1244,7 @@ pdf_load_native_font (const char *ps_name,
FcPatternGetInteger(matches->fonts[i],
FC_INDEX, 0, &index) == FcResultMatch) {
FT_New_Face(ftLib, (char*)path, index, &face);
- name = (char *)FT_Get_Postscript_Name(face);
+ name = FT_Get_Postscript_Name(face);
if (!strcmp(name, ps_name)) {
error = pdf_insert_native_fontmap_record(ps_name, (char*)path, index, face,
layout_dir, extend, slant, embolden);
@@ -1360,9 +1365,10 @@ pdf_clear_fontmaps (void)
*/
static char *
-substr (char **str, char stop)
+substr (const char **str, char stop)
{
- char *sstr, *endptr;
+ char *sstr;
+ const char *endptr;
endptr = strchr(*str, stop);
if (!endptr || endptr == *str)
@@ -1382,12 +1388,13 @@ static char *
strip_options (const char *map_name, fontmap_opt *opt)
{
char *font_name;
- char *p, *next = NULL;
+ const char *p;
+ char *next = NULL;
int have_csi = 0, have_style = 0;
ASSERT(opt);
- p = (char *) map_name;
+ p = map_name;
font_name = NULL;
opt->charcoll = NULL;
opt->index = 0;
diff --git a/Build/source/texk/xdvipdfmx/src/mfileio.c b/Build/source/texk/xdvipdfmx/src/mfileio.c
index 425ab1fe474..b1ed18706a9 100644
--- a/Build/source/texk/xdvipdfmx/src/mfileio.c
+++ b/Build/source/texk/xdvipdfmx/src/mfileio.c
@@ -64,7 +64,7 @@ int mfclose(FILE *file, const char *function, int line)
}
#endif
-static void os_error()
+static void os_error(void)
{
ERROR ("io: An OS command failed that should not have.\n");
}
diff --git a/Build/source/texk/xdvipdfmx/src/mk_agl_standard_c.pl b/Build/source/texk/xdvipdfmx/src/mk_agl_standard_c.pl
index 93a7b7984fd..f7a0222f589 100755
--- a/Build/source/texk/xdvipdfmx/src/mk_agl_standard_c.pl
+++ b/Build/source/texk/xdvipdfmx/src/mk_agl_standard_c.pl
@@ -19,7 +19,7 @@
print << "__EOT__";
#include "agl.h"
-char* agl_standard_names[] = {
+const char* agl_standard_names[] = {
__EOT__
my %knownNames;
diff --git a/Build/source/texk/xdvipdfmx/src/mpost.c b/Build/source/texk/xdvipdfmx/src/mpost.c
index a123c5a049e..99e86f5cecd 100644
--- a/Build/source/texk/xdvipdfmx/src/mpost.c
+++ b/Build/source/texk/xdvipdfmx/src/mpost.c
@@ -70,7 +70,7 @@
* immediately and forget about it but remember current path.
*/
-static int mp_parse_body (char **start, char *end, double x_user, double y_user);
+static int mp_parse_body (const char **start, const char *end, double x_user, double y_user);
static struct mp_font
{
@@ -207,7 +207,7 @@ is_fontname (const char *token)
}
int
-mps_scan_bbox (char **pp, char *endptr, pdf_rect *bbox)
+mps_scan_bbox (const char **pp, const char *endptr, pdf_rect *bbox)
{
char *number;
double values[4];
@@ -253,10 +253,10 @@ mps_scan_bbox (char **pp, char *endptr, pdf_rect *bbox)
}
static void
-skip_prolog (char **start, char *end)
+skip_prolog (const char **start, const char *end)
{
int found_prolog = 0;
- char *save;
+ const char *save;
save = *start;
while (*start < end) {
@@ -833,9 +833,9 @@ static int
do_mpost_bind_def (const char *ps_code, double x_user, double y_user)
{
int error = 0;
- char *start, *end;
+ const char *start, *end;
- start = (char *) ps_code;
+ start = ps_code;
end = start + strlen(start);
error = mp_parse_body(&start, end, x_user, y_user);
@@ -1394,7 +1394,7 @@ do_operator (const char *token, double x_user, double y_user)
* dealing with texfig.
*/
static int
-mp_parse_body (char **start, char *end, double x_user, double y_user)
+mp_parse_body (const char **start, const char *end, double x_user, double y_user)
{
char *token;
pdf_obj *obj;
@@ -1464,7 +1464,7 @@ mps_stack_depth (void)
}
int
-mps_exec_inline (char **p, char *endptr,
+mps_exec_inline (const char **p, const char *endptr,
double x_user, double y_user)
{
int error;
@@ -1515,7 +1515,8 @@ mps_include_page (const char *ident, FILE *fp)
int form_id;
xform_info info;
int st_depth, gs_depth;
- char *buffer, *p, *endptr;
+ char *buffer;
+ const char *p, *endptr;
long length, nb_read;
int dirmode, autorotate, error;
@@ -1528,9 +1529,9 @@ mps_include_page (const char *ident, FILE *fp)
}
buffer = NEW(length + 1, char);
+ buffer[length] = '\0';
p = buffer;
endptr = p + length;
- endptr[0] = '\0';
while (length > 0) {
nb_read = fread(buffer, sizeof(char), length, fp);
@@ -1592,7 +1593,8 @@ mps_do_page (FILE *image_file)
{
int error = 0;
pdf_rect bbox;
- char *buffer, *start, *end;
+ char *buffer;
+ const char *start, *end;
long size;
int dir_mode;
diff --git a/Build/source/texk/xdvipdfmx/src/mpost.h b/Build/source/texk/xdvipdfmx/src/mpost.h
index 7020b3775da..1471bbcdaad 100644
--- a/Build/source/texk/xdvipdfmx/src/mpost.h
+++ b/Build/source/texk/xdvipdfmx/src/mpost.h
@@ -31,12 +31,12 @@
extern int check_for_mp (FILE *fp);
-extern int mps_scan_bbox (char **pp, char *endptr, pdf_rect *bbox);
+extern int mps_scan_bbox (const char **pp, const char *endptr, pdf_rect *bbox);
/* returns xobj_id */
extern int mps_include_page (const char *ident, FILE *fp);
-extern int mps_exec_inline (char **buffer, char *endptr,
+extern int mps_exec_inline (const char **buffer, const char *endptr,
double x_user, double y_user);
extern int mps_stack_depth (void);
diff --git a/Build/source/texk/xdvipdfmx/src/otl_conf.c b/Build/source/texk/xdvipdfmx/src/otl_conf.c
index affba8b672d..107f8cb597e 100644
--- a/Build/source/texk/xdvipdfmx/src/otl_conf.c
+++ b/Build/source/texk/xdvipdfmx/src/otl_conf.c
@@ -46,7 +46,7 @@ otl_conf_set_verbose (void)
}
static pdf_obj *
-parse_uc_coverage (pdf_obj *gclass, char **pp, char *endptr)
+parse_uc_coverage (pdf_obj *gclass, const char **pp, const char *endptr)
{
pdf_obj *coverage;
pdf_obj *value;
@@ -126,7 +126,7 @@ parse_uc_coverage (pdf_obj *gclass, char **pp, char *endptr)
return coverage;
}
-static pdf_obj *parse_block (pdf_obj *gclass, char **pp, char *endptr);
+static pdf_obj *parse_block (pdf_obj *gclass, const char **pp, const char *endptr);
static void
add_rule (pdf_obj *rule, pdf_obj *gclass,
@@ -234,7 +234,7 @@ add_rule (pdf_obj *rule, pdf_obj *gclass,
}
static pdf_obj *
-parse_substrule (pdf_obj *gclass, char **pp, char *endptr)
+parse_substrule (pdf_obj *gclass, const char **pp, const char *endptr)
{
pdf_obj *substrule;
char *token;
@@ -319,7 +319,7 @@ parse_substrule (pdf_obj *gclass, char **pp, char *endptr)
}
static pdf_obj *
-parse_block (pdf_obj *gclass, char **pp, char *endptr)
+parse_block (pdf_obj *gclass, const char **pp, const char *endptr)
{
pdf_obj *rule;
char *token, *tmp;
@@ -495,7 +495,7 @@ otl_read_conf (const char *conf_name)
p = wbuf;
gclass = pdf_new_dict();
- rule = parse_block(gclass, &p, endptr);
+ rule = parse_block(gclass, (const char **) &p, endptr);
pdf_release_obj(gclass);
RELEASE(wbuf);
diff --git a/Build/source/texk/xdvipdfmx/src/otl_opt.c b/Build/source/texk/xdvipdfmx/src/otl_opt.c
index 3ccab257ea0..9b97f4008b4 100644
--- a/Build/source/texk/xdvipdfmx/src/otl_opt.c
+++ b/Build/source/texk/xdvipdfmx/src/otl_opt.c
@@ -111,7 +111,7 @@ bt_release_tree (struct bt_node *tree)
}
static struct bt_node *
-parse_expr (char **pp, char *endptr)
+parse_expr (const char **pp, const char *endptr)
{
struct bt_node *root, *curr;
@@ -318,12 +318,12 @@ check_uc_coverage (struct uc_coverage *coverage)
int
otl_parse_optstring (otl_opt *opt, const char *optstr)
{
- char *p, *endptr;
+ const char *p, *endptr;
ASSERT(opt);
if (optstr) {
- p = (char *) optstr;
+ p = optstr;
endptr = p + strlen(optstr);
opt->rule = parse_expr(&p, endptr);
}
diff --git a/Build/source/texk/xdvipdfmx/src/pdfcolor.c b/Build/source/texk/xdvipdfmx/src/pdfcolor.c
index ab908079ec3..f194c2f7cd8 100644
--- a/Build/source/texk/xdvipdfmx/src/pdfcolor.c
+++ b/Build/source/texk/xdvipdfmx/src/pdfcolor.c
@@ -534,9 +534,9 @@ typedef unsigned long iccSig;
static iccSig
str2iccSig (const void *s)
{
- char *p;
+ const char *p;
- p = (char *) s;
+ p = (const char *) s;
return (iccSig) ((p[0]<<24)|(p[1]<<16)|(p[2]<<8)|p[3]);
}
@@ -700,12 +700,12 @@ int
iccp_check_colorspace (int colortype, const void *profile, long proflen)
{
iccSig colorspace;
- unsigned char *p;
+ const unsigned char *p;
if (!profile || proflen < 128)
return -1;
- p = (unsigned char *) profile;
+ p = (const unsigned char *) profile;
colorspace = str2iccSig(p + 16);
@@ -739,13 +739,13 @@ pdf_obj *
iccp_get_rendering_intent (const void *profile, long proflen)
{
pdf_obj *ri = NULL;
- unsigned char *p;
+ const unsigned char *p;
long intent;
if (!profile || proflen < 128)
return NULL;
- p = (unsigned char *) profile;
+ p = (const unsigned char *) profile;
intent = (p[64] << 24)|(p[65] << 16)|(p[66] << 8)|p[67];
switch (ICC_INTENT_TYPE(intent)) {
@@ -777,7 +777,7 @@ static int
iccp_unpack_header (iccHeader *icch,
const void *profile, long proflen, int check_size)
{
- unsigned char *p, *endptr;
+ const unsigned char *p, *endptr;
if (check_size) {
if (!profile || proflen < 128 ||
@@ -787,7 +787,7 @@ iccp_unpack_header (iccHeader *icch,
}
}
- p = (unsigned char *) profile;
+ p = (const unsigned char *) profile;
endptr = p + 128;
icch->size = sget_signed_long(p);
@@ -870,10 +870,10 @@ iccp_unpack_header (iccHeader *icch,
static void
iccp_get_checksum (unsigned char *checksum, const void *profile, long proflen)
{
- unsigned char *p;
+ const unsigned char *p;
MD5_CONTEXT md5;
- p = (unsigned char *) profile;
+ p = (const unsigned char *) profile;
MD5_init (&md5);
MD5_write(&md5, p + ICC_HEAD_SECT1_START, ICC_HEAD_SECT1_LENGTH);
diff --git a/Build/source/texk/xdvipdfmx/src/pdfdev.c b/Build/source/texk/xdvipdfmx/src/pdfdev.c
index 35cd9cc283e..e74a60f7296 100644
--- a/Build/source/texk/xdvipdfmx/src/pdfdev.c
+++ b/Build/source/texk/xdvipdfmx/src/pdfdev.c
@@ -875,9 +875,9 @@ static unsigned char sbuf1[FORMAT_BUF_SIZE];
static int
handle_multibyte_string (struct dev_font *font,
- unsigned char **str_ptr, int *str_len, int ctype)
+ const unsigned char **str_ptr, int *str_len, int ctype)
{
- unsigned char *p;
+ const unsigned char *p;
int i, length;
p = *str_ptr;
@@ -887,7 +887,7 @@ handle_multibyte_string (struct dev_font *font,
if (ctype == -1) { /* freetype glyph indexes */
if (font->ft_to_gid) {
/* convert freetype glyph indexes to physical GID */
- unsigned char *inbuf = p;
+ const unsigned char *inbuf = p;
unsigned char *outbuf = sbuf0;
for (i = 0; i < length; i += 2) {
unsigned int gid;
@@ -953,7 +953,8 @@ handle_multibyte_string (struct dev_font *font,
* TODO: A character decomposed to multiple characters.
*/
if (ctype != -1 && font->enc_id >= 0) {
- unsigned char *inbuf, *outbuf;
+ const unsigned char *inbuf;
+ unsigned char *outbuf;
long inbytesleft, outbytesleft;
CMap *cmap;
@@ -964,7 +965,7 @@ handle_multibyte_string (struct dev_font *font,
outbytesleft = FORMAT_BUF_SIZE;
CMap_decode(cmap,
- (const unsigned char **) &inbuf, &inbytesleft, &outbuf, &outbytesleft);
+ &inbuf, &inbytesleft, &outbuf, &outbytesleft);
if (inbytesleft != 0) {
WARN("CMap conversion failed. (%d bytes remains)", inbytesleft);
return -1;
@@ -1030,7 +1031,7 @@ pdf_dev_set_string (spt_t xpos, spt_t ypos,
{
struct dev_font *font;
struct dev_font *real_font;
- unsigned char *str_ptr; /* Pointer to the reencoded string. */
+ const unsigned char *str_ptr; /* Pointer to the reencoded string. */
int length, i, len = 0;
spt_t kern, delh, delv;
spt_t text_xorigin;
@@ -1058,7 +1059,7 @@ pdf_dev_set_string (spt_t xpos, spt_t ypos,
text_xorigin = text_state.ref_x;
text_yorigin = text_state.ref_y;
- str_ptr = (unsigned char *) instr_ptr;
+ str_ptr = instr_ptr;
length = instr_len;
if (font->format == PDF_FONTTYPE_COMPOSITE) {
diff --git a/Build/source/texk/xdvipdfmx/src/pdfdoc.c b/Build/source/texk/xdvipdfmx/src/pdfdoc.c
index 797f2dd820b..a1a288241de 100644
--- a/Build/source/texk/xdvipdfmx/src/pdfdoc.c
+++ b/Build/source/texk/xdvipdfmx/src/pdfdoc.c
@@ -193,7 +193,7 @@ typedef struct pdf_article
struct name_dict
{
- char *category;
+ const char *category;
struct ht_table *data;
};
@@ -1168,7 +1168,7 @@ pdf_doc_init_names (pdf_doc *p)
p->names = NEW(NUM_NAME_CATEGORY + 1, struct name_dict);
for (i = 0; i < NUM_NAME_CATEGORY; i++) {
- p->names[i].category = (char *) name_dict_categories[i];
+ p->names[i].category = name_dict_categories[i];
p->names[i].data = NULL;
}
p->names[NUM_NAME_CATEGORY].category = NULL;
diff --git a/Build/source/texk/xdvipdfmx/src/pdfdraw.c b/Build/source/texk/xdvipdfmx/src/pdfdraw.c
index 208d7b7d030..9e0a4fad0bd 100644
--- a/Build/source/texk/xdvipdfmx/src/pdfdraw.c
+++ b/Build/source/texk/xdvipdfmx/src/pdfdraw.c
@@ -1584,7 +1584,7 @@ pdf_dev_vcurveto (double x0, double y0,
}
int
-pdf_dev_ycurveto (double x0, double y0,
+pdf_dev_ycurveto (double x0, double y0,
double x1, double y1)
{
m_stack *gss = &gs_stack;
diff --git a/Build/source/texk/xdvipdfmx/src/pdfencoding.c b/Build/source/texk/xdvipdfmx/src/pdfencoding.c
index 296674d9880..00a041c3b81 100644
--- a/Build/source/texk/xdvipdfmx/src/pdfencoding.c
+++ b/Build/source/texk/xdvipdfmx/src/pdfencoding.c
@@ -92,7 +92,7 @@ typedef struct pdf_encoding
static int pdf_encoding_new_encoding (const char *enc_name,
const char *ident,
const char **encoding_vec,
- char *baseenc_name,
+ const char *baseenc_name,
int flags);
static void
@@ -285,7 +285,8 @@ load_encoding_file (const char *filename)
FILE *fp;
pdf_obj *enc_name = NULL;
pdf_obj *encoding_array = NULL;
- char *wbuf, *p, *endptr;
+ char *wbuf;
+ const char *p, *endptr;
char *enc_vec[256];
int code, fsize, enc_id;
@@ -306,12 +307,12 @@ load_encoding_file (const char *filename)
fsize = file_size(fp);
wbuf = NEW(fsize + 1, char);
+ wbuf[fsize] = '\0';
fread(wbuf, sizeof(char), fsize, fp);
DPXFCLOSE(fp);
p = wbuf;
endptr = wbuf + fsize;
- p[fsize] = '\0';
skip_white(&p, endptr);
@@ -404,7 +405,7 @@ pdf_init_encodings (void)
static int
pdf_encoding_new_encoding (const char *enc_name, const char *ident,
const char **encoding_vec,
- char *baseenc_name, int flags)
+ const char *baseenc_name, int flags)
{
int enc_id, code;
@@ -457,7 +458,7 @@ pdf_encoding_new_encoding (const char *enc_name, const char *ident,
/* Creates Encoding resource and ToUnicode CMap
* for all non-predefined encodings.
*/
-void pdf_encoding_complete ()
+void pdf_encoding_complete (void)
{
int enc_id;
@@ -506,7 +507,7 @@ pdf_close_encodings (void)
}
int
-pdf_encoding_findresource (char *enc_name)
+pdf_encoding_findresource (const char *enc_name)
{
int enc_id;
pdf_encoding *encoding;
diff --git a/Build/source/texk/xdvipdfmx/src/pdfencoding.h b/Build/source/texk/xdvipdfmx/src/pdfencoding.h
index fdfbe7b6923..d65b2e9781b 100644
--- a/Build/source/texk/xdvipdfmx/src/pdfencoding.h
+++ b/Build/source/texk/xdvipdfmx/src/pdfencoding.h
@@ -40,7 +40,7 @@ extern void pdf_encoding_complete (void);
/* enc_name here is .enc file name or the name of predefined
* encodings.
*/
-extern int pdf_encoding_findresource (char *enc_name);
+extern int pdf_encoding_findresource (const char *enc_name);
/* Returns the Encoding resource object.
*/
diff --git a/Build/source/texk/xdvipdfmx/src/pdfencrypt.c b/Build/source/texk/xdvipdfmx/src/pdfencrypt.c
index db0fabc7a0a..d90c77c23e2 100644
--- a/Build/source/texk/xdvipdfmx/src/pdfencrypt.c
+++ b/Build/source/texk/xdvipdfmx/src/pdfencrypt.c
@@ -323,7 +323,7 @@ static void compute_user_password (void)
break;
case 3:
MD5_init(&md5_ctx);
- MD5_write(&md5_ctx, (unsigned char *)padding_string, MAX_STR_LEN);
+ MD5_write(&md5_ctx, padding_string, MAX_STR_LEN);
MD5_write(&md5_ctx, id_string, MAX_KEY_LEN);
MD5_final(md5_buf, &md5_ctx);
diff --git a/Build/source/texk/xdvipdfmx/src/pdfnames.c b/Build/source/texk/xdvipdfmx/src/pdfnames.c
index 1d3b6116e3c..3169e193175 100644
--- a/Build/source/texk/xdvipdfmx/src/pdfnames.c
+++ b/Build/source/texk/xdvipdfmx/src/pdfnames.c
@@ -315,11 +315,11 @@ struct named_object
static int CDECL
cmp_key (const void *d1, const void *d2)
{
- struct named_object *sd1, *sd2;
+ const struct named_object *sd1, *sd2;
int keylen, cmp;
- sd1 = (struct named_object *) d1;
- sd2 = (struct named_object *) d2;
+ sd1 = (const struct named_object *) d1;
+ sd2 = (const struct named_object *) d2;
if (!sd1->key)
cmp = -1;
diff --git a/Build/source/texk/xdvipdfmx/src/pdfobj.c b/Build/source/texk/xdvipdfmx/src/pdfobj.c
index b04ad418ea7..8119c64dab2 100644
--- a/Build/source/texk/xdvipdfmx/src/pdfobj.c
+++ b/Build/source/texk/xdvipdfmx/src/pdfobj.c
@@ -559,7 +559,7 @@ void pdf_out (FILE *file, const void *buffer, long length)
pdf_output_line_position += length;
/* "foo\nbar\n "... */
if (length > 0 &&
- ((char *)buffer)[length-1] == '\n')
+ ((const char *)buffer)[length-1] == '\n')
pdf_output_line_position = 0;
}
}
@@ -2243,7 +2243,8 @@ find_xref (FILE *pdf_input_file)
mfgets(work_buffer, WORK_BUFFER_SIZE, pdf_input_file);
{
- char *start, *end, *number;
+ const char *start, *end;
+ char *number;
start = work_buffer;
end = start + strlen(work_buffer);
@@ -2275,7 +2276,7 @@ parse_trailer (pdf_file *pf)
WARN("buffer:\n->%s<-\n", work_buffer);
result = NULL;
} else {
- char *p = work_buffer + strlen("trailer");
+ const char *p = work_buffer + strlen("trailer");
skip_white(&p, work_buffer + WORK_BUFFER_SIZE);
result = parse_pdf_dict(&p, work_buffer + WORK_BUFFER_SIZE, pf);
}
@@ -2335,7 +2336,8 @@ pdf_read_object (unsigned long obj_num, unsigned short obj_gen,
pdf_file *pf, long offset, long limit)
{
long length;
- char *buffer, *p, *endptr;
+ char *buffer;
+ const char *p, *endptr;
pdf_obj *result;
length = limit - offset;
@@ -2353,7 +2355,7 @@ pdf_read_object (unsigned long obj_num, unsigned short obj_gen,
/* Check for obj_num and obj_gen */
{
- char *q = p; /* <== p */
+ const char *q = p; /* <== p */
char *sp;
unsigned long n, g;
@@ -2412,7 +2414,8 @@ read_objstm (pdf_file *pf, unsigned long num)
unsigned long offset = pf->xref_table[num].field2;
unsigned short gen = pf->xref_table[num].field3;
long limit = next_object_offset(pf, num), n, first, *header = NULL;
- char *data, data1, *p, *q;
+ char *data = NULL, *q;
+ const char *p, *endptr;
int i;
pdf_obj *objstm, *dict, *type, *n_obj, *first_obj;
@@ -2455,13 +2458,13 @@ read_objstm (pdf_file *pf, unsigned long num)
*(header++) = n;
*(header++) = first;
- data = (char *) pdf_stream_dataptr(objstm);
-
- /* hack to avoid parsing beyond offset table */
- data1 = data[first];
+ /* avoid parsing beyond offset table */
+ data = NEW(first + 1, char);
+ memcpy(data, pdf_stream_dataptr(objstm), first);
data[first] = 0;
- p = data;
+ p = data;
+ endptr = p + first;
i = 2*n;
while (i--) {
*(header++) = strtoul(p, &q, 10);
@@ -2469,17 +2472,19 @@ read_objstm (pdf_file *pf, unsigned long num)
goto error;
p = q;
}
- data[first] = data1;
/* Any garbage after last entry? */
- skip_white(&p, data+first);
- if (p != data+first)
+ skip_white(&p, endptr);
+ if (p != endptr)
goto error;
+ RELEASE(data);
return pf->xref_table[num].direct = objstm;
error:
WARN("Cannot parse object stream.");
+ if (data)
+ RELEASE(data);
if (objstm)
pdf_release_obj(objstm);
return NULL;
@@ -2517,7 +2522,7 @@ pdf_get_object (pdf_file *pf, unsigned long obj_num, unsigned short obj_gen)
unsigned short index = pf->xref_table[obj_num].field3;
pdf_obj *objstm;
long *data, n, first, length;
- char *p, *q;
+ const char *p, *q;
if (objstm_num >= pf->num_obj ||
pf->xref_table[objstm_num].type != 1 ||
@@ -2533,7 +2538,7 @@ pdf_get_object (pdf_file *pf, unsigned long obj_num, unsigned short obj_gen)
goto error;
length = pdf_stream_length(objstm);
- p = (char *) pdf_stream_dataptr(objstm) + first + data[2*index+1];
+ p = (const char *) pdf_stream_dataptr(objstm) + first + data[2*index+1];
q = p + (index == n-1 ? length : first+data[2*index+3]);
result = parse_pdf_object(&p, q, pf);
if (!result)
@@ -2779,12 +2784,12 @@ parse_xref_stream (pdf_file *pf, long xref_pos, pdf_obj **trailer)
i = 0;
while (i < index_len) {
pdf_obj *first = pdf_get_array(index, i++);
- pdf_obj *size = pdf_get_array(index, i++);
+ size_obj = pdf_get_array(index, i++);
if (!PDF_OBJ_NUMBERTYPE(first) ||
- !PDF_OBJ_NUMBERTYPE(size) ||
+ !PDF_OBJ_NUMBERTYPE(size_obj) ||
parse_xrefstm_subsec(pf, &p, &length, W, wsum,
(long) pdf_number_value(first),
- (long) pdf_number_value(size)))
+ (long) pdf_number_value(size_obj)))
goto error;
}
} else if (parse_xrefstm_subsec(pf, &p, &length, W, wsum, 0, size))
diff --git a/Build/source/texk/xdvipdfmx/src/pdfparse.c b/Build/source/texk/xdvipdfmx/src/pdfparse.c
index 578d2b271b8..1fc2ff0e285 100644
--- a/Build/source/texk/xdvipdfmx/src/pdfparse.c
+++ b/Build/source/texk/xdvipdfmx/src/pdfparse.c
@@ -69,7 +69,7 @@ static struct {
static int xtoi (char ch);
-static char *save = NULL;
+static const char *save = NULL;
void
dump (const char *start, const char *end)
@@ -94,7 +94,7 @@ dump (const char *start, const char *end)
} while (0)
void
-skip_line (char **start, char *end)
+skip_line (const char **start, const char *end)
{
while (*start < end && **start != '\n' && **start != '\r')
(*start)++;
@@ -110,7 +110,7 @@ skip_line (char **start, char *end)
}
void
-skip_white (char **start, char *end)
+skip_white (const char **start, const char *end)
{
/*
* The null (NUL; 0x00) character is a white-space character in PDF spec
@@ -144,9 +144,10 @@ parsed_string (const char *start, const char *end)
}
char *
-parse_number (char **start, char *end)
+parse_number (const char **start, const char *end)
{
- char *number, *p;
+ char *number;
+ const char *p;
skip_white(start, end);
p = *start;
@@ -166,9 +167,10 @@ parse_number (char **start, char *end)
}
char *
-parse_unsigned (char **start, char *end)
+parse_unsigned (const char **start, const char *end)
{
- char *number, *p;
+ char *number;
+ const char *p;
skip_white(start, end);
for (p = *start; p < end; p++) {
@@ -182,9 +184,10 @@ parse_unsigned (char **start, char *end)
}
static char *
-parse_gen_ident (char **start, char *end, const char *valid_chars)
+parse_gen_ident (const char **start, const char *end, const char *valid_chars)
{
- char *ident, *p;
+ char *ident;
+ const char *p;
/* No skip_white(start, end)? */
for (p = *start; p < end; p++) {
@@ -198,7 +201,7 @@ parse_gen_ident (char **start, char *end, const char *valid_chars)
}
char *
-parse_ident (char **start, char *end)
+parse_ident (const char **start, const char *end)
{
static const char *valid_chars =
"!\"#$&'*+,-.0123456789:;=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\\^_`abcdefghijklmnopqrstuvwxyz|~";
@@ -207,7 +210,7 @@ parse_ident (char **start, char *end)
}
char *
-parse_val_ident (char **start, char *end)
+parse_val_ident (const char **start, const char *end)
{
static const char *valid_chars =
"!\"#$&'*+,-./0123456789:;?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\\^_`abcdefghijklmnopqrstuvwxyz|~";
@@ -216,7 +219,7 @@ parse_val_ident (char **start, char *end)
}
char *
-parse_opt_ident (char **start, char *end)
+parse_opt_ident (const char **start, const char *end)
{
if (*start < end && **start == '@') {
(*start)++;
@@ -228,9 +231,9 @@ parse_opt_ident (char **start, char *end)
#define DDIGITS_MAX 10
pdf_obj *
-parse_pdf_number (char **pp, char *endptr)
+parse_pdf_number (const char **pp, const char *endptr)
{
- char *p;
+ const char *p;
unsigned long ipart = 0, dpart = 0;
int nddigits = 0, sign = 1;
int has_dot = 0;
@@ -309,10 +312,10 @@ parse_pdf_number (char **pp, char *endptr)
* PDF-1.2+: Two hexadecimal digits preceded by a number sign.
*/
static int
-pn_getc (char **pp, char *endptr)
+pn_getc (const char **pp, const char *endptr)
{
int ch = 0;
- char *p;
+ const char *p;
p = *pp;
if (p[0] == '#') {
@@ -348,7 +351,7 @@ static char sbuf[PDF_STRING_LEN_MAX+1];
pdf_obj *
-parse_pdf_name (char **pp, char *endptr)
+parse_pdf_name (const char **pp, const char *endptr)
{
char name[PDF_NAME_LEN_MAX+1];
int ch, len = 0;
@@ -386,7 +389,7 @@ parse_pdf_name (char **pp, char *endptr)
}
pdf_obj *
-parse_pdf_boolean (char **pp, char *endptr)
+parse_pdf_boolean (const char **pp, const char *endptr)
{
skip_white(pp, endptr);
if (*pp + 4 <= endptr &&
@@ -411,7 +414,7 @@ parse_pdf_boolean (char **pp, char *endptr)
}
pdf_obj *
-parse_pdf_null (char **pp, char *endptr)
+parse_pdf_null (const char **pp, const char *endptr)
{
skip_white(pp, endptr);
if (*pp + 4 > endptr) {
@@ -438,10 +441,10 @@ parse_pdf_null (char **pp, char *endptr)
#define isodigit(c) ((c) >= '0' && (c) <= '7')
#endif
static int
-ps_getescc (char **pp, char *endptr)
+ps_getescc (const char **pp, const char *endptr)
{
int ch, i;
- char *p;
+ const char *p;
p = *pp + 1; /* backslash assumed. */
switch (p[0]) {
@@ -489,10 +492,10 @@ ps_getescc (char **pp, char *endptr)
}
static pdf_obj *
-parse_pdf_literal_string (char **pp, char *endptr)
+parse_pdf_literal_string (const char **pp, const char *endptr)
{
int ch, op_count = 0, len = 0;
- char *p;
+ const char *p;
p = *pp;
@@ -586,9 +589,9 @@ xtoi (char ch)
}
static pdf_obj *
-parse_pdf_hex_string (char **pp, char *endptr)
+parse_pdf_hex_string (const char **pp, const char *endptr)
{
- char *p;
+ const char *p;
long len;
p = *pp;
@@ -635,7 +638,7 @@ parse_pdf_hex_string (char **pp, char *endptr)
}
pdf_obj *
-parse_pdf_string (char **pp, char *endptr)
+parse_pdf_string (const char **pp, const char *endptr)
{
skip_white(pp, endptr);
if (*pp + 2 <= endptr) {
@@ -654,7 +657,7 @@ parse_pdf_string (char **pp, char *endptr)
#ifndef PDF_PARSE_STRICT
pdf_obj *
-parse_pdf_tainted_dict (char **pp, char *endptr)
+parse_pdf_tainted_dict (const char **pp, const char *endptr)
{
pdf_obj *result;
@@ -666,17 +669,17 @@ parse_pdf_tainted_dict (char **pp, char *endptr)
}
#else /* PDF_PARSE_STRICT */
pdf_obj *
-parse_pdf_tainted_dict (char **pp, char *endptr, int level)
+parse_pdf_tainted_dict (const char **pp, const char *endptr, int level)
{
return parse_pdf_dict(pp, endptr, NULL);
}
#endif /* !PDF_PARSE_STRICT */
pdf_obj *
-parse_pdf_dict (char **pp, char *endptr, pdf_file *pf)
+parse_pdf_dict (const char **pp, const char *endptr, pdf_file *pf)
{
pdf_obj *result = NULL;
- char *p;
+ const char *p;
p = *pp;
@@ -730,10 +733,10 @@ parse_pdf_dict (char **pp, char *endptr, pdf_file *pf)
}
pdf_obj *
-parse_pdf_array (char **pp, char *endptr, pdf_file *pf)
+parse_pdf_array (const char **pp, const char *endptr, pdf_file *pf)
{
pdf_obj *result;
- char *p;
+ const char *p;
p = *pp;
@@ -773,10 +776,10 @@ parse_pdf_array (char **pp, char *endptr, pdf_file *pf)
}
static pdf_obj *
-parse_pdf_stream (char **pp, char *endptr, pdf_obj *dict, pdf_file *pf)
+parse_pdf_stream (const char **pp, const char *endptr, pdf_obj *dict, pdf_file *pf)
{
pdf_obj *result = NULL;
- char *p;
+ const char *p;
pdf_obj *stream_dict;
long stream_length;
@@ -831,7 +834,7 @@ parse_pdf_stream (char **pp, char *endptr, pdf_obj *dict, pdf_file *pf)
* This was added to allow TeX users to write PDF stream object
* directly in their TeX source. This violates PDF spec.
*/
- char *q;
+ const char *q;
stream_length = -1;
for (q = endptr - 1; q >= p + 8; q--) {
@@ -920,7 +923,7 @@ parse_pdf_stream (char **pp, char *endptr, pdf_obj *dict, pdf_file *pf)
/* This is not PDF indirect reference. */
static pdf_obj *
-parse_pdf_reference (char **start, char *end)
+parse_pdf_reference (const char **start, const char *end)
{
pdf_obj *result = NULL;
char *name;
@@ -947,7 +950,7 @@ parse_pdf_reference (char **start, char *end)
#endif /* !PDF_PARSE_STRICT */
static pdf_obj *
-try_pdf_reference (char *start, char *end, char **endptr, pdf_file *pf)
+try_pdf_reference (const char *start, const char *end, const char **endptr, pdf_file *pf)
{
unsigned long id = 0;
unsigned short gen = 0;
@@ -993,11 +996,11 @@ try_pdf_reference (char *start, char *end, char **endptr, pdf_file *pf)
}
pdf_obj *
-parse_pdf_object (char **pp, char *endptr, pdf_file *pf)
+parse_pdf_object (const char **pp, const char *endptr, pdf_file *pf)
/* If pf is NULL, then indirect references are not allowed */
{
pdf_obj *result = NULL;
- char *nextptr;
+ const char *nextptr;
skip_white(pp, endptr);
if (*pp >= endptr) {
diff --git a/Build/source/texk/xdvipdfmx/src/pdfparse.h b/Build/source/texk/xdvipdfmx/src/pdfparse.h
index a02721be9df..327b0cfc60e 100644
--- a/Build/source/texk/xdvipdfmx/src/pdfparse.h
+++ b/Build/source/texk/xdvipdfmx/src/pdfparse.h
@@ -31,25 +31,25 @@
/* Please remove this */
extern void dump (const char *start, const char *end);
-extern void skip_line (char **start, char *end);
-extern void skip_white (char **start, char *end);
-
-extern char *parse_number (char **start, char *end);
-extern char *parse_unsigned (char **start, char *end);
-
-extern char *parse_ident (char **start, char *end);
-extern char *parse_val_ident (char **start, char *end);
-extern char *parse_opt_ident (char **start, char *end);
-
-extern pdf_obj *parse_pdf_name (char **pp, char *endptr);
-extern pdf_obj *parse_pdf_boolean (char **pp, char *endptr);
-extern pdf_obj *parse_pdf_number (char **pp, char *endptr);
-extern pdf_obj *parse_pdf_null (char **pp, char *endptr);
-extern pdf_obj *parse_pdf_string (char **pp, char *endptr);
-extern pdf_obj *parse_pdf_dict (char **pp, char *endptr, pdf_file *pf);
-extern pdf_obj *parse_pdf_array (char **pp, char *endptr, pdf_file *pf);
-extern pdf_obj *parse_pdf_object (char **pp, char *endptr, pdf_file *pf);
-
-extern pdf_obj *parse_pdf_tainted_dict (char **pp, char *endptr);
+extern void skip_line (const char **start, const char *end);
+extern void skip_white (const char **start, const char *end);
+
+extern char *parse_number (const char **start, const char *end);
+extern char *parse_unsigned (const char **start, const char *end);
+
+extern char *parse_ident (const char **start, const char *end);
+extern char *parse_val_ident (const char **start, const char *end);
+extern char *parse_opt_ident (const char **start, const char *end);
+
+extern pdf_obj *parse_pdf_name (const char **pp, const char *endptr);
+extern pdf_obj *parse_pdf_boolean (const char **pp, const char *endptr);
+extern pdf_obj *parse_pdf_number (const char **pp, const char *endptr);
+extern pdf_obj *parse_pdf_null (const char **pp, const char *endptr);
+extern pdf_obj *parse_pdf_string (const char **pp, const char *endptr);
+extern pdf_obj *parse_pdf_dict (const char **pp, const char *endptr, pdf_file *pf);
+extern pdf_obj *parse_pdf_array (const char **pp, const char *endptr, pdf_file *pf);
+extern pdf_obj *parse_pdf_object (const char **pp, const char *endptr, pdf_file *pf);
+
+extern pdf_obj *parse_pdf_tainted_dict (const char **pp, const char *endptr);
#endif /* _PDFPARSE_H_ */
diff --git a/Build/source/texk/xdvipdfmx/src/pst_obj.c b/Build/source/texk/xdvipdfmx/src/pst_obj.c
index 3d34b13a6e1..1b0793bc562 100644
--- a/Build/source/texk/xdvipdfmx/src/pst_obj.c
+++ b/Build/source/texk/xdvipdfmx/src/pst_obj.c
@@ -123,7 +123,11 @@ pst_new_obj (pst_type type, void *data)
pst_obj *
pst_new_mark (void)
{
- return pst_new_obj(PST_TYPE_MARK, (void *)pst_const_mark);
+ char *q;
+
+ q = NEW(strlen(pst_const_mark)+1, char);
+ strcpy(q, pst_const_mark);
+ return pst_new_obj(PST_TYPE_MARK, (void *)q);
}
void
@@ -138,7 +142,6 @@ pst_release_obj (pst_obj *obj)
case PST_TYPE_STRING: pst_string_release(obj->data); break;
case PST_TYPE_NULL:
case PST_TYPE_MARK:
- break;
case PST_TYPE_UNKNOWN:
if (obj->data)
RELEASE(obj->data);
@@ -388,8 +391,12 @@ pst_parse_null (unsigned char **inbuf, unsigned char *inbufend)
if (*inbuf + 4 <= inbufend &&
memcmp(*inbuf, "null", 4) == 0 &&
PST_TOKEN_END(*inbuf+4, inbufend)) {
+ char *q;
+
*inbuf += 4;
- return pst_new_obj(PST_TYPE_NULL, (void*)pst_const_null);
+ q = NEW(strlen(pst_const_null)+1, char);
+ strcpy(q, pst_const_null);
+ return pst_new_obj(PST_TYPE_NULL, (void*)q);
} else
return NULL;
}
diff --git a/Build/source/texk/xdvipdfmx/src/sfnt.h b/Build/source/texk/xdvipdfmx/src/sfnt.h
index d466be53f6e..4269d73274b 100644
--- a/Build/source/texk/xdvipdfmx/src/sfnt.h
+++ b/Build/source/texk/xdvipdfmx/src/sfnt.h
@@ -139,9 +139,9 @@ extern int put_big_endian (void *s, LONG q, int n);
extern sfnt *sfnt_open (FT_Face face, int accept_types);
#else
extern sfnt *sfnt_open (FILE *fp);
+extern sfnt *dfont_open (FILE *fp, int index);
#endif
extern void sfnt_close (sfnt *sfont);
-extern sfnt *dfont_open (FILE *fp, int index);
/* table directory */
extern int sfnt_read_table_directory (sfnt *sfont, ULONG offset);
diff --git a/Build/source/texk/xdvipdfmx/src/spc_color.c b/Build/source/texk/xdvipdfmx/src/spc_color.c
index 35880193012..d787bd4b3cc 100644
--- a/Build/source/texk/xdvipdfmx/src/spc_color.c
+++ b/Build/source/texk/xdvipdfmx/src/spc_color.c
@@ -134,9 +134,9 @@ spc_handler_background (struct spc_env *spe, struct spc_arg *args)
#define ISBLANK(c) ((c) == ' ' || (c) == '\t' || (c) == '\v')
#endif
static void
-skip_blank (char **pp, char *endptr)
+skip_blank (const char **pp, const char *endptr)
{
- char *p = *pp;
+ const char *p = *pp;
for ( ; p < endptr && ISBLANK(*p); p++);
*pp = p;
}
@@ -145,9 +145,10 @@ int
spc_color_check_special (const char *buf, long len)
{
int r = 0;
- char *q, *p, *endptr;
+ char *q;
+ const char *p, *endptr;
- p = (char *) buf;
+ p = buf;
endptr = p + len;
skip_blank(&p, endptr);
@@ -168,7 +169,8 @@ extern int
spc_color_setup_handler (struct spc_handler *sph,
struct spc_env *spe, struct spc_arg *ap)
{
- char *p, *q;
+ const char *p;
+ char *q;
ASSERT(sph && spe && ap);
@@ -179,7 +181,7 @@ spc_color_setup_handler (struct spc_handler *sph,
skip_blank(&ap->curptr, ap->endptr);
if (!strcmp(q, "background")) {
- ap->command = (char *) "background";
+ ap->command = "background";
sph->exec = &spc_handler_background;
RELEASE(q);
} else if (!strcmp(q, "color")) { /* color */
@@ -190,15 +192,15 @@ spc_color_setup_handler (struct spc_handler *sph,
if (!q)
return -1;
else if (!strcmp(q, "push")) {
- ap->command = (char *) "push";
+ ap->command = "push";
sph->exec = &spc_handler_color_push;
ap->curptr = p;
} else if (!strcmp(q, "pop")) {
- ap->command = (char *) "pop";
+ ap->command = "pop";
sph->exec = &spc_handler_color_pop;
ap->curptr = p;
} else { /* cmyk, rgb, ... */
- ap->command = (char *) "";
+ ap->command = "";
sph->exec = &spc_handler_color_default;
}
RELEASE(q);
diff --git a/Build/source/texk/xdvipdfmx/src/spc_dvips.c b/Build/source/texk/xdvipdfmx/src/spc_dvips.c
index f624a753c43..a80f6079322 100644
--- a/Build/source/texk/xdvipdfmx/src/spc_dvips.c
+++ b/Build/source/texk/xdvipdfmx/src/spc_dvips.c
@@ -95,9 +95,10 @@ spc_handler_ps_header (struct spc_env *spe, struct spc_arg *args)
}
static char *
-parse_filename (char **pp, char *endptr)
+parse_filename (const char **pp, const char *endptr)
{
- char *r, *q = NULL, *p = *pp;
+ char *r;
+ const char *q = NULL, *p = *pp;
char qchar;
int n;
@@ -426,8 +427,8 @@ spc_handler_ps_tricks_brotate (struct spc_env *spe, struct spc_arg *args)
char *cmd, *RotBegin;
int i, l = args->endptr - args->curptr;
- static char *pre = "tx@Dict begin /RAngle { %f } def\n";
- static char *post = "= end";
+ static const char *pre = "tx@Dict begin /RAngle { %f } def\n";
+ static const char *post = "= end";
if (!(++RAngleCount & 0x0f))
RAngles = realloc(RAngles, (RAngleCount + 16) * sizeof(double));
@@ -466,7 +467,7 @@ spc_handler_ps_tricks_transform (struct spc_env *spe, struct spc_arg *args)
char *cmd, *concat;
int l = args->endptr - args->curptr;
- static char *post = "concat matrix currentmatrix ==";
+ static const char *post = "concat matrix currentmatrix ==";
cmd = calloc(l + 41, 1);
strncpy(cmd, "matrix setmatrix ", 17);
@@ -487,7 +488,7 @@ spc_handler_ps_tricks_transform (struct spc_env *spe, struct spc_arg *args)
}
static int
-check_next_obj(unsigned char * buffer)
+check_next_obj(const unsigned char * buffer)
{
switch (buffer[0]) {
case XXX1:
@@ -508,7 +509,7 @@ check_next_obj(unsigned char * buffer)
return 0;
}
- if (strncmp((char*)buffer, "pst:", 4))
+ if (strncmp((const char*)buffer, "pst:", 4))
return 0;
return 1;
}
@@ -522,7 +523,7 @@ spc_handler_ps_tricks_parse_path (struct spc_env *spe, struct spc_arg *args,
pdf_tmatrix M;
char *distiller_template = get_distiller_template();
char *gs_out;
- char *clip;
+ const char *clip;
int error;
if (!distiller_template)
@@ -643,7 +644,7 @@ spc_handler_ps_tricks_render (struct spc_env *spe, struct spc_arg *args)
fwrite(args->curptr, 1, args->endptr - args->curptr, fp);
fprintf(fp, "\ncount 1 sub {pop} repeat restore\n");
- if (check_next_obj((unsigned char*)args->endptr)) {
+ if (check_next_obj((const unsigned char*)args->endptr)) {
fclose(fp);
} else {
char *distiller_template = get_distiller_template();
@@ -719,7 +720,7 @@ typedef enum {
/* ToDo: all the substring search must be centralized so that *
* keys can be read from external configuration. */
struct pstricks_key_ {
- char * key;
+ const char * key;
Operation exec;
} pstricks_key[] = {
/* The first 5 are hard-coded here. */
@@ -902,11 +903,11 @@ spc_dvips_at_end_document (void)
int
spc_dvips_check_special (const char *buf, long len)
{
- char *p, *endptr;
+ const char *p, *endptr;
int i;
- p = (char *) buf;
- endptr = p + len;
+ p = buf;
+ endptr = p + len;
skip_white(&p, endptr);
if (p >= endptr)
@@ -929,7 +930,7 @@ int
spc_dvips_setup_handler (struct spc_handler *handle,
struct spc_env *spe, struct spc_arg *args)
{
- char *key;
+ const char *key;
int i, keylen;
ASSERT(handle && spe && args);
@@ -963,9 +964,9 @@ spc_dvips_setup_handler (struct spc_handler *handle,
skip_white(&args->curptr, args->endptr);
- args->command = (char *) dvips_handlers[i].key;
+ args->command = dvips_handlers[i].key;
- handle->key = (char *) "ps:";
+ handle->key = "ps:";
handle->exec = dvips_handlers[i].exec;
return 0;
diff --git a/Build/source/texk/xdvipdfmx/src/spc_html.c b/Build/source/texk/xdvipdfmx/src/spc_html.c
index d81f51a7e05..064ff67778b 100644
--- a/Build/source/texk/xdvipdfmx/src/spc_html.c
+++ b/Build/source/texk/xdvipdfmx/src/spc_html.c
@@ -72,7 +72,7 @@ static struct spc_html_ _html_state = {
#ifdef ENABLE_HTML_SVG_TRANSFORM
-static int cvt_a_to_tmatrix (pdf_tmatrix *M, const char *ptr, char **nextptr);
+static int cvt_a_to_tmatrix (pdf_tmatrix *M, const char *ptr, const char **nextptr);
#endif /* ENABLE_HTML_SVG_TRANSFORM */
#define \
@@ -88,9 +88,10 @@ if ((s)) { \
}
static int
-parse_key_val (char **pp, char *endptr, char **kp, char **vp)
+parse_key_val (const char **pp, const char *endptr, char **kp, char **vp)
{
- char *q, *p, *k, *v;
+ const char *q, *p;
+ char *k, *v;
int n, error = 0;
for (p = *pp ; p < endptr && isspace(*p); p++);
@@ -157,9 +158,9 @@ parse_key_val (char **pp, char *endptr, char **kp, char **vp)
#define HTML_TAG_TYPE_CLOSE 2
static int
-read_html_tag (char *name, pdf_obj *attr, int *type, char **pp, char *endptr)
+read_html_tag (char *name, pdf_obj *attr, int *type, const char **pp, const char *endptr)
{
- char *p = *pp;
+ const char *p = *pp;
int n = 0, error = 0;
for ( ; p < endptr && isspace(*p); p++);
@@ -477,7 +478,8 @@ spc_html__base_empty (struct spc_env *spe, pdf_obj *attr, struct spc_html_ *sd)
static double
atopt (const char *a)
{
- char *q, *p = (char *) a;
+ char *q;
+ const char *p = a;
double v, u = 1.0;
const char *_ukeys[] = {
#define K_UNIT__PT 0
@@ -613,7 +615,7 @@ spc_html__img_empty (struct spc_env *spe, pdf_obj *attr, struct spc_html_ *sd)
#ifdef ENABLE_HTML_SVG_TRANSFORM
obj = pdf_lookup_dict(attr, "svg:transform");
if (obj) {
- char *p = (char *) pdf_string_value(obj);
+ const char *p = pdf_string_value(obj);
pdf_tmatrix N;
for ( ; *p && isspace(*p); p++);
while (*p && !error) {
@@ -761,9 +763,10 @@ spc_handler_html_default (struct spc_env *spe, struct spc_arg *ap)
#ifdef ENABLE_HTML_SVG_TRANSFORM
/* translate wsp* '(' wsp* number (comma-wsp number)? wsp* ')' */
static int
-cvt_a_to_tmatrix (pdf_tmatrix *M, const char *ptr, char **nextptr)
+cvt_a_to_tmatrix (pdf_tmatrix *M, const char *ptr, const char **nextptr)
{
- char *q, *p = (char *) ptr;
+ char *q;
+ const char *p = ptr;
int n;
double v[6];
static const char *_tkeys[] = {
@@ -900,9 +903,9 @@ spc_html_at_end_document (void)
int
spc_html_check_special (const char *buffer, long size)
{
- char *p, *endptr;
+ const char *p, *endptr;
- p = (char *) buffer;
+ p = buffer;
endptr = p + size;
for ( ; p < endptr && isspace(*p); p++);
@@ -928,9 +931,9 @@ spc_html_setup_handler (struct spc_handler *sph,
return -1;
}
- ap->command = (char *) "";
+ ap->command = "";
- sph->key = (char *) "html:";
+ sph->key = "html:";
sph->exec = &spc_handler_html_default;
ap->curptr += strlen("html:");
diff --git a/Build/source/texk/xdvipdfmx/src/spc_misc.c b/Build/source/texk/xdvipdfmx/src/spc_misc.c
index 9d7d55257c0..1329309a2e0 100644
--- a/Build/source/texk/xdvipdfmx/src/spc_misc.c
+++ b/Build/source/texk/xdvipdfmx/src/spc_misc.c
@@ -124,7 +124,7 @@ spc_handler_postscriptbox (struct spc_env *spe, struct spc_arg *ap)
ti.flags |= (INFO_HAS_WIDTH|INFO_HAS_HEIGHT);
for (;;) {
- char *p = mfgets(buf, 512, fp);
+ const char *p = mfgets(buf, 512, fp);
if (!p)
break;
if (mps_scan_bbox(&p, p + strlen(p), &ti.bbox) >= 0) {
@@ -166,10 +166,10 @@ static struct spc_handler misc_handlers[] = {
int
spc_misc_check_special (const char *buffer, long size)
{
- char *p, *endptr;
+ const char *p, *endptr;
int i;
- p = (char *) buffer;
+ p = buffer;
endptr = p + size;
skip_white(&p, endptr);
@@ -190,7 +190,7 @@ int
spc_misc_setup_handler (struct spc_handler *handle,
struct spc_env *spe, struct spc_arg *args)
{
- char *key;
+ const char *key;
int i, keylen;
ASSERT(handle && spe && args);
@@ -220,9 +220,9 @@ spc_misc_setup_handler (struct spc_handler *handle,
skip_white(&args->curptr, args->endptr);
- args->command = (char *) misc_handlers[i].key;
+ args->command = misc_handlers[i].key;
- handle->key = (char *) "???:";
+ handle->key = "???:";
handle->exec = misc_handlers[i].exec;
return 0;
diff --git a/Build/source/texk/xdvipdfmx/src/spc_pdfm.c b/Build/source/texk/xdvipdfmx/src/spc_pdfm.c
index 2d508d436ce..e623c92cbc4 100644
--- a/Build/source/texk/xdvipdfmx/src/spc_pdfm.c
+++ b/Build/source/texk/xdvipdfmx/src/spc_pdfm.c
@@ -588,7 +588,7 @@ modstrings (pdf_obj *kp, pdf_obj *vp, void *dp)
}
static pdf_obj *
-my_parse_pdf_dict (char **pp, char *endptr, struct tounicode *cd)
+my_parse_pdf_dict (const char **pp, const char *endptr, struct tounicode *cd)
{
pdf_obj *dict;
@@ -2051,9 +2051,9 @@ int
spc_pdfm_check_special (const char *buf, long len)
{
int r = 0;
- char *p, *endptr;
+ const char *p, *endptr;
- p = (char *) buf;
+ p = buf;
endptr = p + len;
skip_white(&p, endptr);
@@ -2088,8 +2088,8 @@ spc_pdfm_setup_handler (struct spc_handler *sph,
for (i = 0;
i < sizeof(pdfm_handlers) / sizeof(struct spc_handler); i++) {
if (!strcmp(q, pdfm_handlers[i].key)) {
- ap->command = (char *) pdfm_handlers[i].key;
- sph->key = (char *) "pdf:";
+ ap->command = pdfm_handlers[i].key;
+ sph->key = "pdf:";
sph->exec = pdfm_handlers[i].exec;
skip_white(&ap->curptr, ap->endptr);
error = 0;
diff --git a/Build/source/texk/xdvipdfmx/src/spc_tpic.c b/Build/source/texk/xdvipdfmx/src/spc_tpic.c
index 71a41ce159b..2bd072f7f92 100644
--- a/Build/source/texk/xdvipdfmx/src/spc_tpic.c
+++ b/Build/source/texk/xdvipdfmx/src/spc_tpic.c
@@ -67,9 +67,9 @@
#endif
static void
-skip_blank (char **pp, char *endptr)
+skip_blank (const char **pp, const char *endptr)
{
- char *p = *pp;
+ const char *p = *pp;
for ( ; p < endptr && ISBLANK(*p); p++);
*pp = p;
}
@@ -1021,10 +1021,11 @@ int
spc_tpic_check_special (const char *buf, long len)
{
int istpic = 0;
- char *q, *p, *endptr;
+ char *q;
+ const char *p, *endptr;
int i, hasnsp = 0;
- p = (char *) buf;
+ p = buf;
endptr = p + len;
skip_blank(&p, endptr);
@@ -1084,8 +1085,8 @@ spc_tpic_setup_handler (struct spc_handler *sph,
error = -1;
else if (q && hasnsp && !strcmp(q, "__setopt__")) {
#if DEBUG
- ap->command = (char *) "__setopt__";
- sph->key = (char *) "tpic:";
+ ap->command = "__setopt__";
+ sph->key = "tpic:";
sph->exec = spc_handler_tpic__setopts;
skip_blank(&ap->curptr, ap->endptr);
error = 0;
@@ -1095,8 +1096,8 @@ spc_tpic_setup_handler (struct spc_handler *sph,
for (i = 0;
i < sizeof(tpic_handlers)/sizeof(struct spc_handler); i++) {
if (!strcmp(q, tpic_handlers[i].key)) {
- ap->command = (char *) tpic_handlers[i].key;
- sph->key = (char *) "tpic:";
+ ap->command = tpic_handlers[i].key;
+ sph->key = "tpic:";
sph->exec = tpic_handlers[i].exec;
skip_blank(&ap->curptr, ap->endptr);
error = 0;
diff --git a/Build/source/texk/xdvipdfmx/src/spc_util.c b/Build/source/texk/xdvipdfmx/src/spc_util.c
index e21338dfd86..e94007f43b5 100644
--- a/Build/source/texk/xdvipdfmx/src/spc_util.c
+++ b/Build/source/texk/xdvipdfmx/src/spc_util.c
@@ -45,9 +45,9 @@
#define ISBLANK(c) ((c) == ' ' || (c) == '\t')
#endif
static void
-skip_blank (char **pp, char *endptr)
+skip_blank (const char **pp, const char *endptr)
{
- char *p = *pp;
+ const char *p = *pp;
for ( ; p < endptr && ISBLANK(*p); p++);
*pp = p;
}
diff --git a/Build/source/texk/xdvipdfmx/src/spc_xtx.c b/Build/source/texk/xdvipdfmx/src/spc_xtx.c
index 99c359372e7..7683c5bee35 100644
--- a/Build/source/texk/xdvipdfmx/src/spc_xtx.c
+++ b/Build/source/texk/xdvipdfmx/src/spc_xtx.c
@@ -429,9 +429,9 @@ int
spc_xtx_check_special (const char *buf, long len)
{
int r = 0;
- char *p, *endptr;
+ const char *p, *endptr;
- p = (char *) buf;
+ p = buf;
endptr = p + len;
skip_white(&p, endptr);
@@ -466,8 +466,8 @@ spc_xtx_setup_handler (struct spc_handler *sph,
for (i = 0;
i < sizeof(xtx_handlers) / sizeof(struct spc_handler); i++) {
if (!strcmp(q, xtx_handlers[i].key)) {
- ap->command = (char *) xtx_handlers[i].key;
- sph->key = (char *) "x:";
+ ap->command = xtx_handlers[i].key;
+ sph->key = "x:";
sph->exec = xtx_handlers[i].exec;
skip_white(&ap->curptr, ap->endptr);
error = 0;
diff --git a/Build/source/texk/xdvipdfmx/src/specials.c b/Build/source/texk/xdvipdfmx/src/specials.c
index c9086513a13..ef499d904f7 100644
--- a/Build/source/texk/xdvipdfmx/src/specials.c
+++ b/Build/source/texk/xdvipdfmx/src/specials.c
@@ -352,7 +352,7 @@ init_special (struct spc_handler *special,
spe->mag = mag;
spe->pg = pdf_doc_current_page_number(); /* _FIXME_ */
- args->curptr = (char *) p;
+ args->curptr = p;
args->endptr = args->curptr + size;
args->base = args->curptr;
args->command = NULL;
@@ -524,7 +524,8 @@ spc_exec_at_end_document (void)
static void
print_error (const char *name, struct spc_env *spe, struct spc_arg *ap)
{
- char *p, ebuf[64];
+ const char *p;
+ char ebuf[64];
int i;
long pg = spe->pg;
pdf_coord c;
@@ -582,7 +583,7 @@ spc_exec_special (const char *buffer, long size,
struct spc_handler special;
if (verbose > 3) {
- dump((char *) buffer, (char *) buffer + size);
+ dump(buffer, buffer + size);
}
init_special(&special, &spe, &args, buffer, size, x_user, y_user, mag);
diff --git a/Build/source/texk/xdvipdfmx/src/specials.h b/Build/source/texk/xdvipdfmx/src/specials.h
index 4fcdb07a31e..74a69293d00 100644
--- a/Build/source/texk/xdvipdfmx/src/specials.h
+++ b/Build/source/texk/xdvipdfmx/src/specials.h
@@ -32,11 +32,11 @@ struct spc_env {
};
struct spc_arg {
- char *curptr;
- char *endptr;
- char *base;
+ const char *curptr;
+ const char *endptr;
+ const char *base;
- char *command;
+ const char *command;
};
typedef int (*spc_handler_fn_ptr) (struct spc_env *, struct spc_arg *);
diff --git a/Build/source/texk/xdvipdfmx/src/subfont.c b/Build/source/texk/xdvipdfmx/src/subfont.c
index ed299303f53..9448601910e 100644
--- a/Build/source/texk/xdvipdfmx/src/subfont.c
+++ b/Build/source/texk/xdvipdfmx/src/subfont.c
@@ -168,7 +168,8 @@ readline (char *buf, int buf_len, FILE *fp)
static int
read_sfd_record (struct sfd_rec_ *rec, const char *lbuf)
{
- char *p = (char *) lbuf, *q;
+ const char *p = lbuf, *q;
+ char *r;
int repos = 0;
long c, v1 = 0, v2 = 0;
int curpos = 0;
@@ -178,7 +179,8 @@ read_sfd_record (struct sfd_rec_ *rec, const char *lbuf)
for ( ; *p && isspace(*p); p++);
while (!error && *p) {
repos = 0; q = p;
- v1 = strtol(p, &q, 0);
+ v1 = strtol(p, &r, 0);
+ q = r;
if (q == p ||
(!IS_TOKSEP(*q) && *q != ':' && *q != '_')) {
WARN("Unknown token in subfont mapping table: %c", *q);
@@ -196,7 +198,8 @@ read_sfd_record (struct sfd_rec_ *rec, const char *lbuf)
break;
case '_':
p = q + 1;
- v2 = strtol(p, &q, 0);
+ v2 = strtol(p, &r, 0);
+ q = r;
if (v1 < 0 || v1 > 0xffffL ||
v2 < 0 || v2 > 0xffffL) {
WARN("Invalid value in subfont mapping table: 0x%x_0x%x", v1, v2);
diff --git a/Build/source/texk/xdvipdfmx/src/t1_char.c b/Build/source/texk/xdvipdfmx/src/t1_char.c
index 333d9b3d17a..59bb0793178 100644
--- a/Build/source/texk/xdvipdfmx/src/t1_char.c
+++ b/Build/source/texk/xdvipdfmx/src/t1_char.c
@@ -265,10 +265,10 @@ static int CDECL
stem_compare (const void *v1, const void *v2)
{
int cmp = 0;
- t1_stem *s1, *s2;
+ const t1_stem *s1, *s2;
- s1 = (t1_stem *) v1;
- s2 = (t1_stem *) v2;
+ s1 = (const t1_stem *) v1;
+ s2 = (const t1_stem *) v2;
if (s1->dir == s2->dir) {
if (s1->pos == s2->pos) {
if (s1->del == s2->del)
diff --git a/Build/source/texk/xdvipdfmx/src/t1_load.c b/Build/source/texk/xdvipdfmx/src/t1_load.c
index d4751354a8a..b6664ec2961 100644
--- a/Build/source/texk/xdvipdfmx/src/t1_load.c
+++ b/Build/source/texk/xdvipdfmx/src/t1_load.c
@@ -1080,13 +1080,13 @@ get_pfb_segment (FILE *fp, int expected_type, long *length)
return buffer;
}
-char *
+const char *
t1_get_standard_glyph (int code)
{
if (!StandardEncoding[code])
return NULL;
- return (char *) StandardEncoding[code];
+ return StandardEncoding[code];
}
int
diff --git a/Build/source/texk/xdvipdfmx/src/t1_load.h b/Build/source/texk/xdvipdfmx/src/t1_load.h
index c1c7ca2ea9f..95683612fbf 100644
--- a/Build/source/texk/xdvipdfmx/src/t1_load.h
+++ b/Build/source/texk/xdvipdfmx/src/t1_load.h
@@ -6,6 +6,6 @@
extern cff_font *t1_load_font (char **enc_vec, int mode, FILE *fp);
extern int is_pfb (FILE *fp);
extern int t1_get_fontname (FILE *fp, char *fontname);
-extern char *t1_get_standard_glyph (int code);
+extern const char *t1_get_standard_glyph (int code);
#endif /* _T1_LOAD_H_ */
diff --git a/Build/source/texk/xdvipdfmx/src/truetype.c b/Build/source/texk/xdvipdfmx/src/truetype.c
index 4ba3dce9cef..15bde765995 100644
--- a/Build/source/texk/xdvipdfmx/src/truetype.c
+++ b/Build/source/texk/xdvipdfmx/src/truetype.c
@@ -451,6 +451,7 @@ static int
selectglyph (USHORT in, const char *suffix, struct glyph_mapper *gm, USHORT *out)
{
char *s, *q, t[5];
+ const char *r;
int n, error = 0;
ASSERT(suffix && gm && out);
@@ -463,9 +464,9 @@ selectglyph (USHORT in, const char *suffix, struct glyph_mapper *gm, USHORT *out
* agl.c currently only knows less ambiguos cases;
* e.g., 'sc', 'superior', etc.
*/
- q = (char *) agl_suffix_to_otltag(s);
- if (q) { /* We found feature tag for 'suffix'. */
- error = select_gsub(q, gm); /* no fallback for this */
+ r = agl_suffix_to_otltag(s);
+ if (r) { /* We found feature tag for 'suffix'. */
+ error = select_gsub(r, gm); /* no fallback for this */
if (!error)
error = otl_gsub_apply(gm->gsub, &in);
} else { /* 'suffix' may represent feature tag. */
@@ -885,7 +886,7 @@ pdf_font_load_truetype (pdf_font *font)
#ifdef ENABLE_NOEMBED
int embedding = pdf_font_get_flag(font, PDF_FONT_FLAG_NOEMBED) ? 0 : 1;
#endif /* ENABLE_NOEMBED */
- int index = pdf_font_get_index(font);
+ int index = pdf_font_get_index(font);
char **enc_vec;
pdf_obj *fontfile;
FILE *fp = NULL;
diff --git a/Build/source/texk/xdvipdfmx/src/tt_glyf.c b/Build/source/texk/xdvipdfmx/src/tt_glyf.c
index 9e278dc4620..ba081bc69b0 100644
--- a/Build/source/texk/xdvipdfmx/src/tt_glyf.c
+++ b/Build/source/texk/xdvipdfmx/src/tt_glyf.c
@@ -167,10 +167,10 @@ static int CDECL
glyf_cmp (const void *v1, const void *v2)
{
int cmp = 0;
- struct tt_glyph_desc *sv1, *sv2;
+ const struct tt_glyph_desc *sv1, *sv2;
- sv1 = (struct tt_glyph_desc *) v1;
- sv2 = (struct tt_glyph_desc *) v2;
+ sv1 = (const struct tt_glyph_desc *) v1;
+ sv2 = (const struct tt_glyph_desc *) v2;
if (sv1->gid == sv2->gid)
cmp = 0;
diff --git a/Build/source/texk/xdvipdfmx/src/tt_post.c b/Build/source/texk/xdvipdfmx/src/tt_post.c
index d5f21cb37f1..d68705c1624 100644
--- a/Build/source/texk/xdvipdfmx/src/tt_post.c
+++ b/Build/source/texk/xdvipdfmx/src/tt_post.c
@@ -30,7 +30,7 @@
#include "tt_post.h"
-static const char *const macglyphorder[258];
+static const char *macglyphorder[258];
/* offset from begenning of the post table */
#define NAME_STR_OFFSET 32
@@ -81,11 +81,11 @@ read_v2_post_names (struct tt_post_table *post, sfnt *sfont)
}
}
- post->glyphNamePtr = NEW(post->numberOfGlyphs, char *);
+ post->glyphNamePtr = NEW(post->numberOfGlyphs, const char *);
for (i = 0; i < post->numberOfGlyphs; i++) {
idx = indices[i];
if (idx < 258) {
- post->glyphNamePtr[i] = (char *) macglyphorder[idx];
+ post->glyphNamePtr[i] = macglyphorder[idx];
} else if (idx - 258 < post->count) {
post->glyphNamePtr[i] = post->names[idx - 258];
} else {
@@ -127,7 +127,7 @@ tt_read_post_table (sfnt *sfont)
if (post->Version == 0x00010000UL) {
post->numberOfGlyphs = 258; /* wrong */
- post->glyphNamePtr = (char **) macglyphorder;
+ post->glyphNamePtr = macglyphorder;
post->count = 0;
post->names = NULL;
} else if (post->Version == 0x00025000UL) {
@@ -204,7 +204,7 @@ tt_release_post_table (struct tt_post_table *post)
}
/* Macintosh glyph order - from apple's TTRefMan */
-static const char *const
+static const char *
macglyphorder[258] = {
/* 0x0000 */
".notdef", ".null", "nonmarkingreturn", "space", "exclam", "quotedbl",
diff --git a/Build/source/texk/xdvipdfmx/src/tt_post.h b/Build/source/texk/xdvipdfmx/src/tt_post.h
index 4a9884524e9..414c680a570 100644
--- a/Build/source/texk/xdvipdfmx/src/tt_post.h
+++ b/Build/source/texk/xdvipdfmx/src/tt_post.h
@@ -39,7 +39,7 @@ struct tt_post_table
USHORT numberOfGlyphs;
- char **glyphNamePtr; /* Glyph names (pointer to C string) */
+ const char **glyphNamePtr; /* Glyph names (pointer to C string) */
char **names; /* Non-standard glyph names */
USHORT count; /* Number of glyph names in names[] */
diff --git a/Build/source/texk/xdvipdfmx/src/type1.c b/Build/source/texk/xdvipdfmx/src/type1.c
index 18d0ec72165..788db75255d 100644
--- a/Build/source/texk/xdvipdfmx/src/type1.c
+++ b/Build/source/texk/xdvipdfmx/src/type1.c
@@ -706,7 +706,7 @@ pdf_font_load_type1 (pdf_font *font)
cstring->offset[gid + 1] = offset + 1;
if (gm.use_seac) {
long bchar_gid, achar_gid, i;
- char *bchar_name, *achar_name;
+ const char *bchar_name, *achar_name;
/*
* NOTE:
diff --git a/Build/source/texk/xdvipdfmx/src/xbb.c b/Build/source/texk/xdvipdfmx/src/xbb.c
index 788a4246218..458fb7e1b0e 100644
--- a/Build/source/texk/xdvipdfmx/src/xbb.c
+++ b/Build/source/texk/xdvipdfmx/src/xbb.c
@@ -69,7 +69,7 @@ static void do_time(FILE *file)
fprintf(file, "%%%%CreationDate: %s\n", asctime(bd_time));
}
-char *extensions[] = {
+const char *extensions[] = {
".jpeg", ".JPEG", ".jpg", ".JPG", ".pdf", ".PDF", ".png", ".PNG"
};
@@ -98,7 +98,7 @@ static char *make_xbb_filename(const char *name)
return result;
}
-static char *xbb_file_mode = FOPEN_W_MODE;
+static const char *xbb_file_mode = FOPEN_W_MODE;
static void write_xbb(char *fname, int bbllx, int bblly, int bburx, int bbury)
{