diff options
author | Peter Breitenlohner <peb@mppmu.mpg.de> | 2009-11-10 10:30:09 +0000 |
---|---|---|
committer | Peter Breitenlohner <peb@mppmu.mpg.de> | 2009-11-10 10:30:09 +0000 |
commit | c7373aea6badf4ce6e1bca4a5335b89569d5c8a5 (patch) | |
tree | ebdd5fea26edc6f892bd2787737b25970ca00990 /Build/source/texk/xdvipdfmx/src | |
parent | 5fc8d99062f93c1d823ef44569549781d4a8e36b (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')
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) { |