summaryrefslogtreecommitdiff
path: root/Build/source/texk
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk')
-rw-r--r--Build/source/texk/dvipdfm-x/ChangeLog7
-rw-r--r--Build/source/texk/dvipdfm-x/agl.c12
-rw-r--r--Build/source/texk/dvipdfm-x/cid.c2
-rw-r--r--Build/source/texk/dvipdfm-x/dpxfile.c2
-rw-r--r--Build/source/texk/dvipdfm-x/dpxutil.c6
-rw-r--r--Build/source/texk/dvipdfm-x/dvipdfmx.c16
-rw-r--r--Build/source/texk/dvipdfm-x/epdf.c2
-rw-r--r--Build/source/texk/dvipdfm-x/fontmap.c6
-rw-r--r--Build/source/texk/dvipdfm-x/mpost.c8
-rw-r--r--Build/source/texk/dvipdfm-x/otl_conf.c2
-rw-r--r--Build/source/texk/dvipdfm-x/otl_opt.c2
-rw-r--r--Build/source/texk/dvipdfm-x/pdfnames.c2
-rw-r--r--Build/source/texk/dvipdfm-x/pdfparse.c22
-rw-r--r--Build/source/texk/dvipdfm-x/spc_dvips.c2
-rw-r--r--Build/source/texk/dvipdfm-x/spc_html.c40
-rw-r--r--Build/source/texk/dvipdfm-x/spc_misc.c2
-rw-r--r--Build/source/texk/dvipdfm-x/specials.c4
-rw-r--r--Build/source/texk/dvipdfm-x/subfont.c14
18 files changed, 79 insertions, 72 deletions
diff --git a/Build/source/texk/dvipdfm-x/ChangeLog b/Build/source/texk/dvipdfm-x/ChangeLog
index 2fa43f5c491..9202a976bc3 100644
--- a/Build/source/texk/dvipdfm-x/ChangeLog
+++ b/Build/source/texk/dvipdfm-x/ChangeLog
@@ -3,6 +3,13 @@
* pdfdoc.c: Set PDF Docinfo's /Producer string from pdf:docinfo if
supplied (http://sourceforge.net/p/xetex/bugs/93/).
+2014-06-20 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * agl.c, cid.c, dpxfile.c, dpxutil.c, dvipdfmx.c, epdf.c,
+ fontmap.c, mpost.c, otl_conf.c, otl_opt.c, pdfnames.c,
+ pdfparse.c, spc_dvips.c, spc_html.c, spc_misc.c, specials.c,
+ subfont.c: Avoid undefined behaviour when char is signed.
+
2014-06-20 Akira Kakuto <kakuto@fuk.kindai.ac.jp>
* xbb.c: Check kpse_in_name_ok and kpse_out_name_ok in extractbb.
diff --git a/Build/source/texk/dvipdfm-x/agl.c b/Build/source/texk/dvipdfm-x/agl.c
index 601a8ff88bc..fe9c6adfff4 100644
--- a/Build/source/texk/dvipdfm-x/agl.c
+++ b/Build/source/texk/dvipdfm-x/agl.c
@@ -329,7 +329,7 @@ agl_normalized_name (char *glyphname)
strcpy(agln->suffix, "sc");
agln->name = NEW(n+1, char);
for (i = 0; i < n; i++) {
- agln->name[i] = isupper(glyphname[i]) ?
+ agln->name[i] = isupper((unsigned char)glyphname[i]) ?
(glyphname[i] + 32) : glyphname[i];
}
agln->name[n] = '\0';
@@ -536,7 +536,7 @@ agl_name_is_unicode (const char *glyphname)
* Check if the 4th character is uppercase hexadecimal digit.
* "union" should not be treated as Unicode glyph name.
*/
- if (isdigit(c) || (c >= 'A' && c <= 'F'))
+ if (isdigit((unsigned char)c) || (c >= 'A' && c <= 'F'))
return 1;
else
return 0;
@@ -544,7 +544,7 @@ agl_name_is_unicode (const char *glyphname)
glyphname[0] == 'u') {
for (i = 1; i < len - 1; i++) {
c = glyphname[i];
- if (!isdigit(c) && (c < 'A' || c > 'F'))
+ if (!isdigit((unsigned char)c) && (c < 'A' || c > 'F'))
return 0;
}
return 1;
@@ -573,12 +573,12 @@ agl_name_convert_unicode (const char *glyphname)
p = glyphname + 1;
ucv = 0;
while (*p != '\0' && *p != '.') {
- if (!isdigit(*p) && (*p < 'A' || *p > 'F')) {
+ if (!isdigit((unsigned char)*p) && (*p < 'A' || *p > 'F')) {
WARN("Invalid char %c in Unicode glyph name %s.", *p, glyphname);
return -1;
}
ucv <<= 4;
- ucv += isdigit(*p) ? *p - '0' : *p - 'A' + 10;
+ ucv += isdigit((unsigned char)*p) ? *p - '0' : *p - 'A' + 10;
p++;
}
@@ -603,7 +603,7 @@ xtol (const char *start, int len)
while (len-- > 0) {
v <<= 4;
- if (isdigit(*start)) {
+ if (isdigit((unsigned char)*start)) {
v += *start - '0';
} else if (*start >= 'A' && *start <= 'F') {
v += *start - 'A' + 10;
diff --git a/Build/source/texk/dvipdfm-x/cid.c b/Build/source/texk/dvipdfm-x/cid.c
index 48f79843f58..35a562394a0 100644
--- a/Build/source/texk/dvipdfm-x/cid.c
+++ b/Build/source/texk/dvipdfm-x/cid.c
@@ -783,7 +783,7 @@ get_cidsysinfo (const char *map_name, fontmap_opt *fmap_opt)
CIDFONT_DEBUG_STR, fmap_opt->charcoll);
q++;
- if (!isdigit(q[0]))
+ if (!isdigit((unsigned char)q[0]))
ERROR("%s: String can't be converted to REGISTRY-ORDERING-SUPPLEMENT: %s",
CIDFONT_DEBUG_STR, fmap_opt->charcoll);
diff --git a/Build/source/texk/dvipdfm-x/dpxfile.c b/Build/source/texk/dvipdfm-x/dpxfile.c
index f890a8f343e..575ba52e525 100644
--- a/Build/source/texk/dvipdfm-x/dpxfile.c
+++ b/Build/source/texk/dvipdfm-x/dpxfile.c
@@ -1125,7 +1125,7 @@ ispscmap (FILE *fp)
p = mfgets(_sbuf, 128, fp); p[127] = '\0';
if (!p || strlen(p) < 4 || memcmp(p, "%!PS", 4))
return 0;
- for (p += 4; *p && !isspace(*p); p++);
+ for (p += 4; *p && !isspace((unsigned char)*p); p++);
for ( ; *p && (*p == ' ' || *p == '\t'); p++);
if (*p == '\0' || strlen(p) < strlen("Resource-CMap"))
return 0;
diff --git a/Build/source/texk/dvipdfm-x/dpxutil.c b/Build/source/texk/dvipdfm-x/dpxutil.c
index a6d3d274467..acf318026ab 100644
--- a/Build/source/texk/dvipdfm-x/dpxutil.c
+++ b/Build/source/texk/dvipdfm-x/dpxutil.c
@@ -477,12 +477,12 @@ read_c_escchar (char *r, const char **pp, const char *endptr)
{
int i;
for (c = 0, i = 0, p++;
- i < 2 && p < endptr && isxdigit(p[0]);
+ i < 2 && p < endptr && isxdigit((unsigned char)p[0]);
i++, p++)
c = (c << 4) +
- (isdigit(p[0]) ?
+ (isdigit((unsigned char)p[0]) ?
p[0] - '0' :
- (islower(p[0]) ? p[0] - 'a' + 10: p[0] - 'A' + 10));
+ (islower((unsigned char)p[0]) ? p[0] - 'a' + 10: p[0] - 'A' + 10));
}
break;
default:
diff --git a/Build/source/texk/dvipdfm-x/dvipdfmx.c b/Build/source/texk/dvipdfm-x/dvipdfmx.c
index 64b71257776..1637961ec37 100644
--- a/Build/source/texk/dvipdfm-x/dvipdfmx.c
+++ b/Build/source/texk/dvipdfm-x/dvipdfmx.c
@@ -347,17 +347,17 @@ select_pages (const char *pagespec)
page_ranges[num_page_ranges].first = 0;
page_ranges[num_page_ranges].last = 0;
- for ( ; *p && isspace(*p); p++);
+ for ( ; *p && isspace((unsigned char)*p); p++);
q = parse_unsigned(&p, p + strlen(p)); /* Can't be signed. */
if (q) { /* '-' is allowed here */
page_ranges[num_page_ranges].first = atoi(q) - 1;
page_ranges[num_page_ranges].last = page_ranges[num_page_ranges].first;
RELEASE(q);
}
- for ( ; *p && isspace(*p); p++);
+ for ( ; *p && isspace((unsigned char)*p); p++);
if (*p == '-') {
- for (++p; *p && isspace(*p); p++);
+ for (++p; *p && isspace((unsigned char)*p); p++);
page_ranges[num_page_ranges].last = -1;
if (*p) {
q = parse_unsigned(&p, p + strlen(p));
@@ -365,7 +365,7 @@ select_pages (const char *pagespec)
page_ranges[num_page_ranges].last = atoi(q) - 1;
RELEASE(q);
}
- for ( ; *p && isspace(*p); p++);
+ for ( ; *p && isspace((unsigned char)*p); p++);
}
} else {
page_ranges[num_page_ranges].last = page_ranges[num_page_ranges].first;
@@ -376,7 +376,7 @@ select_pages (const char *pagespec)
if (*p == ',')
p++;
else {
- for ( ; *p && isspace(*p); p++);
+ for ( ; *p && isspace((unsigned char)*p); p++);
if (*p)
ERROR("Bad page range specification: %s", p);
}
@@ -539,7 +539,7 @@ do_args (int argc, char *argv[])
{
int ver_minor;
- if (isdigit(*(flag+1))) {
+ if (isdigit((unsigned char)*(flag+1))) {
flag++;
ver_minor = atoi(flag);
} else {
@@ -563,7 +563,7 @@ do_args (int argc, char *argv[])
{
int level;
- if (isdigit(*(flag+1))) {
+ if (isdigit((unsigned char)*(flag+1))) {
flag++;
level = atoi(flag);
} else {
@@ -575,7 +575,7 @@ do_args (int argc, char *argv[])
}
break;
case 'd':
- if (isdigit(*(flag+1))) {
+ if (isdigit((unsigned char)*(flag+1))) {
flag++;
pdfdecimaldigits = atoi(flag);
} else {
diff --git a/Build/source/texk/dvipdfm-x/epdf.c b/Build/source/texk/dvipdfm-x/epdf.c
index 4c9bbfc4105..4aae4ee9ece 100644
--- a/Build/source/texk/dvipdfm-x/epdf.c
+++ b/Build/source/texk/dvipdfm-x/epdf.c
@@ -675,7 +675,7 @@ pdf_copy_clip (FILE *image_file, int pageNo, double x_user, double y_user)
} else if (*clip_path == '-'
|| *clip_path == '+'
|| *clip_path == '.'
- || isdigit(*clip_path)) {
+ || isdigit((unsigned char)*clip_path)) {
stack[++top] = strtod(clip_path, &temp);
clip_path = temp;
} else if (*clip_path == '[') {
diff --git a/Build/source/texk/dvipdfm-x/fontmap.c b/Build/source/texk/dvipdfm-x/fontmap.c
index d14feaa2771..c2d82850e5a 100644
--- a/Build/source/texk/dvipdfm-x/fontmap.c
+++ b/Build/source/texk/dvipdfm-x/fontmap.c
@@ -254,7 +254,7 @@ parse_string_value (const char **pp, const char *endptr)
if (*p == '"')
q = parse_c_string(&p, endptr);
else {
- for (n = 0; p < endptr && !isspace(*p); p++, n++);
+ for (n = 0; p < endptr && !isspace((unsigned char)*p); p++, n++);
if (n == 0)
return NULL;
q = NEW(n + 1, char);
@@ -515,7 +515,7 @@ fontmap_parse_mapdef_dpm (fontmap_rec *mrec,
if (!q) {
WARN("Invalid value for option 'm'.");
return -1;
- } else if (p < endptr && !isspace(*p)) {
+ } else if (p < endptr && !isspace((unsigned char)*p)) {
WARN("Invalid value for option 'm': %s", q);
RELEASE(q);
return -1;
@@ -1294,7 +1294,7 @@ strip_options (const char *map_name, fontmap_opt *opt)
opt->style = FONTMAP_STYLE_NONE;
opt->flags = 0;
- if (*p == ':' && isdigit(*(p+1))) {
+ if (*p == ':' && isdigit((unsigned char)*(p+1))) {
opt->index = (int) strtoul(p+1, &next, 10);
if (*next == ':')
p = next + 1;
diff --git a/Build/source/texk/dvipdfm-x/mpost.c b/Build/source/texk/dvipdfm-x/mpost.c
index ea65d03dde2..36476929021 100644
--- a/Build/source/texk/dvipdfm-x/mpost.c
+++ b/Build/source/texk/dvipdfm-x/mpost.c
@@ -219,7 +219,7 @@ mps_scan_bbox (const char **pp, const char *endptr, pdf_rect *bbox)
int i;
/* skip_white() skips lines starting '%'... */
- while (*pp < endptr && isspace(**pp))
+ while (*pp < endptr && isspace((unsigned char)**pp))
(*pp)++;
/* Scan for bounding box record */
@@ -254,7 +254,7 @@ mps_scan_bbox (const char **pp, const char *endptr, pdf_rect *bbox)
}
}
skip_line (pp, endptr);
- while (*pp < endptr && isspace(**pp))
+ while (*pp < endptr && isspace((unsigned char)**pp))
(*pp)++;
}
@@ -1414,14 +1414,14 @@ mp_parse_body (const char **start, const char *end, double x_user, double y_user
skip_white(start, end);
while (*start < end && !error) {
- if (isdigit(**start) ||
+ if (isdigit((unsigned char)**start) ||
(*start < end - 1 &&
(**start == '+' || **start == '-' || **start == '.' ))) {
double value;
char *next;
value = strtod(*start, &next);
- if (next < end && !strchr("<([{/%", *next) && !isspace(*next)) {
+ if (next < end && !strchr("<([{/%", *next) && !isspace((unsigned char)*next)) {
WARN("Unkown PostScript operator.");
dump(*start, next);
error = 1;
diff --git a/Build/source/texk/dvipdfm-x/otl_conf.c b/Build/source/texk/dvipdfm-x/otl_conf.c
index 1cb5a69d4ed..bb1f0f04b30 100644
--- a/Build/source/texk/dvipdfm-x/otl_conf.c
+++ b/Build/source/texk/dvipdfm-x/otl_conf.c
@@ -367,7 +367,7 @@ parse_block (pdf_obj *gclass, const char **pp, const char *endptr)
tmp = NEW(len+1, char);
memset(tmp, 0, len+1);
for (i = 0; i < len; i++) {
- if (!isspace(**pp))
+ if (!isspace((unsigned char)**pp))
tmp[i] = **pp;
(*pp)++;
}
diff --git a/Build/source/texk/dvipdfm-x/otl_opt.c b/Build/source/texk/dvipdfm-x/otl_opt.c
index 8676d538618..bccf1d0afb0 100644
--- a/Build/source/texk/dvipdfm-x/otl_opt.c
+++ b/Build/source/texk/dvipdfm-x/otl_opt.c
@@ -184,7 +184,7 @@ parse_expr (const char **pp, const char *endptr)
for (i = 0; i < 4; i++) {
if (**pp == ' ' || **pp == '?' ||
- isalpha(**pp) || isdigit(**pp))
+ isalpha((unsigned char)**pp) || isdigit((unsigned char)**pp))
curr->data[i] = **pp;
else if (**pp == '_')
curr->data[i] = ' ';
diff --git a/Build/source/texk/dvipdfm-x/pdfnames.c b/Build/source/texk/dvipdfm-x/pdfnames.c
index 3cc0a1a9f7d..eb4659cfd3a 100644
--- a/Build/source/texk/dvipdfm-x/pdfnames.c
+++ b/Build/source/texk/dvipdfm-x/pdfnames.c
@@ -58,7 +58,7 @@ printable_key (const char *key, int keylen)
for (i = 0, len = 0;
i < keylen && len < MAX_KEY; i++) {
- if (isprint(key[i])) {
+ if (isprint((unsigned char)key[i])) {
pkey[len++] = key[i];
} else {
hi = (key[i] >> 4) & 0xff;
diff --git a/Build/source/texk/dvipdfm-x/pdfparse.c b/Build/source/texk/dvipdfm-x/pdfparse.c
index bfc129d2e45..3e75a4cc775 100644
--- a/Build/source/texk/dvipdfm-x/pdfparse.c
+++ b/Build/source/texk/dvipdfm-x/pdfparse.c
@@ -151,11 +151,11 @@ parse_number (const char **start, const char *end)
p = *start;
if (p < end && (*p == '+' || *p == '-'))
p++;
- while (p < end && isdigit(*p))
+ while (p < end && isdigit((unsigned char)*p))
p++;
if (p < end && *p == '.') {
p++;
- while (p < end && isdigit(*p))
+ while (p < end && isdigit((unsigned char)*p))
p++;
}
number = parsed_string(*start, p);
@@ -172,7 +172,7 @@ parse_unsigned (const char **start, const char *end)
skip_white(start, end);
for (p = *start; p < end; p++) {
- if (!isdigit(*p))
+ if (!isdigit((unsigned char)*p))
break;
}
number = parsed_string(*start, p);
@@ -252,7 +252,7 @@ parse_pdf_number (const char **pp, const char *endptr)
p = *pp;
skip_white(&p, endptr);
if (p >= endptr ||
- (!isdigit(p[0]) && p[0] != '.' &&
+ (!isdigit((unsigned char)p[0]) && p[0] != '.' &&
p[0] != '+' && p[0] != '-')) {
WARN("Could not find a numeric object.");
return NULL;
@@ -282,7 +282,7 @@ parse_pdf_number (const char **pp, const char *endptr)
} else {
has_dot = 1;
}
- } else if (isdigit(p[0])) {
+ } else if (isdigit((unsigned char)p[0])) {
if (has_dot) {
if (nddigits == DDIGITS_MAX && pdf_obj_get_verbose() > 1) {
WARN("Number with more than %d fractional digits.", DDIGITS_MAX);
@@ -321,7 +321,7 @@ pn_getc (const char **pp, const char *endptr)
*pp = endptr;
return -1;
}
- if (!isxdigit(p[1]) || !isxdigit(p[2])) {
+ if (!isxdigit((unsigned char)p[1]) || !isxdigit((unsigned char)p[2])) {
*pp += 3;
return -1;
}
@@ -651,7 +651,7 @@ parse_pdf_string (const char **pp, const char *endptr)
if (**pp == '(')
return parse_pdf_literal_string(pp, endptr);
else if (**pp == '<' &&
- (*(*pp + 1) == '>' || isxdigit(*(*pp + 1)))) {
+ (*(*pp + 1) == '>' || isxdigit((unsigned char)*(*pp + 1)))) {
return parse_pdf_hex_string(pp, endptr);
}
}
@@ -925,11 +925,11 @@ try_pdf_reference (const char *start, const char *end, const char **endptr, pdf_
*endptr = start;
skip_white(&start, end);
- if (start > end - 5 || !isdigit(*start)) {
+ if (start > end - 5 || !isdigit((unsigned char)*start)) {
return NULL;
}
while (!is_space(*start)) {
- if (start >= end || !isdigit(*start)) {
+ if (start >= end || !isdigit((unsigned char)*start)) {
return NULL;
}
id = id * 10 + (*start - '0');
@@ -937,10 +937,10 @@ try_pdf_reference (const char *start, const char *end, const char **endptr, pdf_
}
skip_white(&start, end);
- if (start >= end || !isdigit(*start))
+ if (start >= end || !isdigit((unsigned char)*start))
return NULL;
while (!is_space(*start)) {
- if (start >= end || !isdigit(*start))
+ if (start >= end || !isdigit((unsigned char)*start))
return NULL;
gen = gen * 10 + (*start - '0');
start++;
diff --git a/Build/source/texk/dvipdfm-x/spc_dvips.c b/Build/source/texk/dvipdfm-x/spc_dvips.c
index f029ae2f170..bb1384a42c4 100644
--- a/Build/source/texk/dvipdfm-x/spc_dvips.c
+++ b/Build/source/texk/dvipdfm-x/spc_dvips.c
@@ -963,7 +963,7 @@ spc_dvips_setup_handler (struct spc_handler *handle,
key = args->curptr;
while (args->curptr < args->endptr &&
- isalpha(args->curptr[0])) {
+ isalpha((unsigned char)args->curptr[0])) {
args->curptr++;
}
/* Test for "ps:". The "ps::" special is subsumed under this case. */
diff --git a/Build/source/texk/dvipdfm-x/spc_html.c b/Build/source/texk/dvipdfm-x/spc_html.c
index 9685f2886d5..9e43bfae940 100644
--- a/Build/source/texk/dvipdfm-x/spc_html.c
+++ b/Build/source/texk/dvipdfm-x/spc_html.c
@@ -92,7 +92,7 @@ parse_key_val (const char **pp, const char *endptr, char **kp, char **vp)
char *k, *v;
int n, error = 0;
- for (p = *pp ; p < endptr && isspace(*p); p++);
+ for (p = *pp ; p < endptr && isspace((unsigned char)*p); p++);
#if 0
while (!error && p < endptr &&
((*p >= 'a' && *p <= 'z') ||
@@ -161,18 +161,18 @@ read_html_tag (char *name, pdf_obj *attr, int *type, const char **pp, const char
const char *p = *pp;
int n = 0, error = 0;
- for ( ; p < endptr && isspace(*p); p++);
+ for ( ; p < endptr && isspace((unsigned char)*p); p++);
if (p >= endptr || *p != '<')
return -1;
*type = HTML_TAG_TYPE_OPEN;
- for (++p; p < endptr && isspace(*p); p++);
+ for (++p; p < endptr && isspace((unsigned char)*p); p++);
if (p < endptr && *p == '/') {
*type = HTML_TAG_TYPE_CLOSE;
- for (++p; p < endptr && isspace(*p); p++);
+ for (++p; p < endptr && isspace((unsigned char)*p); p++);
}
-#define ISDELIM(c) ((c) == '>' || (c) == '/' || isspace(c))
+#define ISDELIM(c) ((c) == '>' || (c) == '/' || isspace((unsigned char)c))
for (n = 0; p < endptr && n < HTML_TAG_NAME_MAX && !ISDELIM(*p); n++, p++) {
name[n] = *p;
}
@@ -182,7 +182,7 @@ read_html_tag (char *name, pdf_obj *attr, int *type, const char **pp, const char
return -1;
}
- for ( ; p < endptr && isspace(*p); p++);
+ for ( ; p < endptr && isspace((unsigned char)*p); p++);
while (p < endptr && !error && *p != '/' && *p != '>') {
char *kp = NULL, *vp = NULL;
error = parse_key_val(&p, endptr, &kp, &vp);
@@ -194,7 +194,7 @@ read_html_tag (char *name, pdf_obj *attr, int *type, const char **pp, const char
RELEASE(kp);
RELEASE(vp);
}
- for ( ; p < endptr && isspace(*p); p++);
+ for ( ; p < endptr && isspace((unsigned char)*p); p++);
}
if (error) {
*pp = p;
@@ -203,7 +203,7 @@ read_html_tag (char *name, pdf_obj *attr, int *type, const char **pp, const char
if (p < endptr && *p == '/') {
*type = HTML_TAG_TYPE_EMPTY;
- for (++p; p < endptr && isspace(*p); p++);
+ for (++p; p < endptr && isspace((unsigned char)*p); p++);
}
if (p == endptr || *p != '>') {
*pp = p;
@@ -615,16 +615,16 @@ spc_html__img_empty (struct spc_env *spe, pdf_obj *attr, struct spc_html_ *sd)
if (obj) {
const char *p = pdf_string_value(obj);
pdf_tmatrix N;
- for ( ; *p && isspace(*p); p++);
+ for ( ; *p && isspace((unsigned char)*p); p++);
while (*p && !error) {
pdf_setmatrix(&N, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0);
error = cvt_a_to_tmatrix(&N, p, &p);
if (!error) {
N.f = -N.f;
pdf_concatmatrix(&M, &N);
- for ( ; *p && isspace(*p); p++);
+ for ( ; *p && isspace((unsigned char)*p); p++);
if (*p == ',')
- for (++p; *p && isspace(*p); p++);
+ for (++p; *p && isspace((unsigned char)*p); p++);
}
}
}
@@ -751,7 +751,7 @@ spc_handler_html_default (struct spc_env *spe, struct spc_arg *ap)
}
pdf_release_obj(attr);
- for ( ; ap->curptr < ap->endptr && isspace(ap->curptr[0]); ap->curptr++);
+ for ( ; ap->curptr < ap->endptr && isspace((unsigned char)ap->curptr[0]); ap->curptr++);
return error;
}
@@ -783,7 +783,7 @@ cvt_a_to_tmatrix (pdf_tmatrix *M, const char *ptr, const char **nextptr)
};
int k;
- for ( ; *p && isspace(*p); p++);
+ for ( ; *p && isspace((unsigned char)*p); p++);
q = parse_c_ident(&p, p + strlen(p));
if (!q)
@@ -793,10 +793,10 @@ cvt_a_to_tmatrix (pdf_tmatrix *M, const char *ptr, const char **nextptr)
RELEASE(q);
/* handle args */
- for ( ; *p && isspace(*p); p++);
+ for ( ; *p && isspace((unsigned char)*p); p++);
if (*p != '(' || *(p + 1) == 0)
return -1;
- for (++p; *p && isspace(*p); p++);
+ for (++p; *p && isspace((unsigned char)*p); p++);
for (n = 0; n < 6 && *p && *p != ')'; n++) {
q = parse_float_decimal(&p, p + strlen(p));
if (!q)
@@ -805,9 +805,9 @@ cvt_a_to_tmatrix (pdf_tmatrix *M, const char *ptr, const char **nextptr)
v[n] = atof(q);
if (*p == ',')
p++;
- for ( ; *p && isspace(*p); p++);
+ for ( ; *p && isspace((unsigned char)*p); p++);
if (*p == ',')
- for (++p; *p && isspace(*p); p++);
+ for (++p; *p && isspace((unsigned char)*p); p++);
RELEASE(q);
}
}
@@ -905,7 +905,7 @@ spc_html_check_special (const char *buffer, long size)
p = buffer;
endptr = p + size;
- for ( ; p < endptr && isspace(*p); p++);
+ for ( ; p < endptr && isspace((unsigned char)*p); p++);
size = (long) (endptr - p);
if (size >= strlen("html:") &&
!memcmp(p, "html:", strlen("html:"))) {
@@ -922,7 +922,7 @@ spc_html_setup_handler (struct spc_handler *sph,
{
ASSERT(sph && spe && ap);
- for ( ; ap->curptr < ap->endptr && isspace(ap->curptr[0]); ap->curptr++);
+ for ( ; ap->curptr < ap->endptr && isspace((unsigned char)ap->curptr[0]); ap->curptr++);
if (ap->curptr + strlen("html:") > ap->endptr ||
memcmp(ap->curptr, "html:", strlen("html:"))) {
return -1;
@@ -934,7 +934,7 @@ spc_html_setup_handler (struct spc_handler *sph,
sph->exec = &spc_handler_html_default;
ap->curptr += strlen("html:");
- for ( ; ap->curptr < ap->endptr && isspace(ap->curptr[0]); ap->curptr++);
+ for ( ; ap->curptr < ap->endptr && isspace((unsigned char)ap->curptr[0]); ap->curptr++);
return 0;
}
diff --git a/Build/source/texk/dvipdfm-x/spc_misc.c b/Build/source/texk/dvipdfm-x/spc_misc.c
index fcf1d39417e..eb0135a8eb8 100644
--- a/Build/source/texk/dvipdfm-x/spc_misc.c
+++ b/Build/source/texk/dvipdfm-x/spc_misc.c
@@ -174,7 +174,7 @@ spc_misc_setup_handler (struct spc_handler *handle,
key = args->curptr;
while (args->curptr < args->endptr &&
- isalpha(args->curptr[0])) {
+ isalpha((unsigned char)args->curptr[0])) {
args->curptr++;
}
diff --git a/Build/source/texk/dvipdfm-x/specials.c b/Build/source/texk/dvipdfm-x/specials.c
index 8419a1af310..b853f7e88d4 100644
--- a/Build/source/texk/dvipdfm-x/specials.c
+++ b/Build/source/texk/dvipdfm-x/specials.c
@@ -517,7 +517,7 @@ print_error (const char *name, struct spc_env *spe, struct spc_arg *ap)
WARN(">> at page=\"%ld\" position=\"(%g, %g)\" (in PDF)", pg, c.x, c.y);
}
for (i = 0, p = ap->base; i < 63 && p < ap->endptr; p++) {
- if (isprint(*p))
+ if (isprint((unsigned char)*p))
ebuf[i++] = *p;
else if (i + 4 < 63)
i += sprintf(ebuf + i, "\\x%02x", (unsigned char)*p);
@@ -533,7 +533,7 @@ print_error (const char *name, struct spc_env *spe, struct spc_arg *ap)
if (ap->curptr < ap->endptr) {
for (i = 0, p = ap->curptr; i < 63 && p < ap->endptr; p++) {
- if (isprint(*p))
+ if (isprint((unsigned char)*p))
ebuf[i++] = *p;
else if (i + 4 < 63)
i += sprintf(ebuf + i, "\\x%02x", (unsigned char)*p);
diff --git a/Build/source/texk/dvipdfm-x/subfont.c b/Build/source/texk/dvipdfm-x/subfont.c
index 6d8eaf5a8f2..09f20a0dc6e 100644
--- a/Build/source/texk/dvipdfm-x/subfont.c
+++ b/Build/source/texk/dvipdfm-x/subfont.c
@@ -173,8 +173,8 @@ read_sfd_record (struct sfd_rec_ *rec, const char *lbuf)
int curpos = 0;
int error = 0;
-#define IS_TOKSEP(c) ((c) == '\0' || isspace((c)))
- for ( ; *p && isspace(*p); p++);
+#define IS_TOKSEP(c) ((c) == '\0' || isspace((unsigned char)(c)))
+ for ( ; *p && isspace((unsigned char)*p); p++);
while (!error && *p) {
repos = 0; q = p;
v1 = strtol(p, &r, 0);
@@ -233,7 +233,7 @@ read_sfd_record (struct sfd_rec_ *rec, const char *lbuf)
rec->vector[curpos++] = (unsigned short) c;
}
}
- for (p = q; *p && isspace(*p); p++);
+ for (p = q; *p && isspace((unsigned char)*p); p++);
}
return error;
@@ -257,12 +257,12 @@ scan_sfd_file (struct sfd_file_ *sfd, FILE *fp)
sfd->max_subfonts = sfd->num_subfonts = 0;
while ((p = readline(line_buf, LINE_BUF_SIZE, fp)) != NULL) {
lpos++;
- for ( ; *p && isspace(*p); p++);
+ for ( ; *p && isspace((unsigned char)*p); p++);
if (*p == 0)
continue; /* empty */
/* Saw non-wsp here */
- for (n = 0, q = p; *p && !isspace(*p); p++, n++);
+ for (n = 0, q = p; *p && !isspace((unsigned char)*p); p++, n++);
id = NEW(n + 1, char);
memcpy(id, q, n); id[n] = '\0';
if (sfd->num_subfonts >= sfd->max_subfonts) {
@@ -400,12 +400,12 @@ sfd_load_record (const char *sfd_name, const char *subfont_id)
/* Seek to record for 'sub_name'. */
while ((p = readline(line_buf, LINE_BUF_SIZE, fp))) {
- for ( ; *p && isspace(*p); p++);
+ for ( ; *p && isspace((unsigned char)*p); p++);
if (*p == 0)
continue; /* empty line */
/* q = parse_ident(&p, p + strlen(p)); */
- for (q = p; *p && !isspace(*p); p++);
+ for (q = p; *p && !isspace((unsigned char)*p); p++);
*p = '\0'; p++;
if (!strcmp(q, subfont_id)) {
if (num_sfd_records >= max_sfd_records) {