summaryrefslogtreecommitdiff
path: root/Build/source/texk/dvipsk
diff options
context:
space:
mode:
authorPeter Breitenlohner <peb@mppmu.mpg.de>2014-06-19 11:14:35 +0000
committerPeter Breitenlohner <peb@mppmu.mpg.de>2014-06-19 11:14:35 +0000
commite5b8a1a0369901d3d73384cf553619d9351679aa (patch)
treea0b0d02bb0421b6f6f1dce118d40dfe6e91147b6 /Build/source/texk/dvipsk
parenta7803f3483864a647563ebda46f5fa39a92bb205 (diff)
texk/*/, utils/*/: Avoid undefined behaviour when char is signed
git-svn-id: svn://tug.org/texlive/trunk@34310 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/dvipsk')
-rw-r--r--Build/source/texk/dvipsk/ChangeLog5
-rw-r--r--Build/source/texk/dvipsk/afm2tfm.c2
-rw-r--r--Build/source/texk/dvipsk/dospecial.c4
-rw-r--r--Build/source/texk/dvipsk/emspecial.c28
-rw-r--r--Build/source/texk/dvipsk/resident.c2
-rw-r--r--Build/source/texk/dvipsk/writet1.c4
6 files changed, 25 insertions, 20 deletions
diff --git a/Build/source/texk/dvipsk/ChangeLog b/Build/source/texk/dvipsk/ChangeLog
index b20cd49c960..f48fa8e99a3 100644
--- a/Build/source/texk/dvipsk/ChangeLog
+++ b/Build/source/texk/dvipsk/ChangeLog
@@ -1,3 +1,8 @@
+2014-06-19 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * afm2tfm.c, dospecial.c, emspecial.c, resident.c, writet1.c:
+ Avoid undefined behaviour when char is signed.
+
2014-06-16 Peter Breitenlohner <peb@mppmu.mpg.de>
* {,squeeze/}Makefile.am: Drop the obsolete ACLOCAL_AMFLAGS.
diff --git a/Build/source/texk/dvipsk/afm2tfm.c b/Build/source/texk/dvipsk/afm2tfm.c
index ec6b219b7d6..e57417b5a09 100644
--- a/Build/source/texk/dvipsk/afm2tfm.c
+++ b/Build/source/texk/dvipsk/afm2tfm.c
@@ -826,7 +826,7 @@ upmap(void) { /* Compute uppercase mapping, when making a small caps font */
Looks like we should use isupper to me --karl. */
for (Ai=adobechars; Ai; Ai=Ai->next) {
p = Ai->adobename;
- if (isupper (*p)) {
+ if (isupper ((unsigned char)*p)) {
q = lwr;
for (; *p; p++)
*q++ = TOLOWER (*p);
diff --git a/Build/source/texk/dvipsk/dospecial.c b/Build/source/texk/dvipsk/dospecial.c
index 9986ec83daa..b295c643e5d 100644
--- a/Build/source/texk/dvipsk/dospecial.c
+++ b/Build/source/texk/dvipsk/dospecial.c
@@ -787,7 +787,7 @@ case 'h':
if (strncmp(p, "html:", 5)==0) {
if (! HPS_FLAG) return;
p += 5;
- while (isspace(*p))
+ while (isspace((unsigned char)*p))
p++;
if (*p == '<') {
char *sp = p;
@@ -802,7 +802,7 @@ case 'h':
strncpy(str,sp+1,ii-1);
str[ii-1] = 0;len=strlen(str);
if(len>6) lower_len=6; else lower_len=len;
- for(ii=0;ii<lower_len;ii++) str[ii]=tolower(str[ii]);
+ for(ii=0;ii<lower_len;ii++) str[ii]=tolower((unsigned char)str[ii]);
do_html(str);
free(str);
} else
diff --git a/Build/source/texk/dvipsk/emspecial.c b/Build/source/texk/dvipsk/emspecial.c
index c4ef067f2cc..3210a8a2639 100644
--- a/Build/source/texk/dvipsk/emspecial.c
+++ b/Build/source/texk/dvipsk/emspecial.c
@@ -146,10 +146,10 @@ char emstr[500];
char *emp;
hvpos();
- for (emp = p+3; *emp && isspace(*emp); emp++); /* skip blanks */
+ for (emp = p+3; *emp && isspace((unsigned char)*emp); emp++); /* skip blanks */
if (strncmp(emp, "linewidth", 9) == 0) {
/* code for linewidth */
- for (emp = emp+9; *emp && isspace(*emp); emp++); /* skip blanks */
+ for (emp = emp+9; *emp && isspace((unsigned char)*emp); emp++); /* skip blanks */
sscanf(emp, "%f%2s", &emwidth, emunit);
emwidth = emunits(emwidth,emunit);
if (emwidth!=-1.0) {
@@ -204,7 +204,7 @@ char *emp;
emused = TRUE;
emclear();
}
- for (emp = emp+5; *emp && isspace(*emp); emp++); /* skip blanks */
+ for (emp = emp+5; *emp && isspace((unsigned char)*emp); emp++); /* skip blanks */
empoint1 = (shalfword)atoi(emp);
empoint = emptput(empoint1,hh,vv);
#ifdef DEBUG
@@ -218,20 +218,20 @@ char *emp;
#endif
}
else if (strncmp(emp, "line", 4) == 0) {
- for (emp = emp+4; *emp && isspace(*emp); emp++); /* skip blanks */
+ for (emp = emp+4; *emp && isspace((unsigned char)*emp); emp++); /* skip blanks */
empoint1 = (shalfword)atoi(emp);
- for (; *emp && isdigit(*emp); emp++); /* skip point 1 */
+ for (; *emp && isdigit((unsigned char)*emp); emp++); /* skip point 1 */
if ( *emp && strchr("hvp",*emp)!=0 )
emp++; /* skip line cut */
- for (; *emp && isspace(*emp); emp++); /* skip blanks */
+ for (; *emp && isspace((unsigned char)*emp); emp++); /* skip blanks */
if ( *emp && (*emp==',') )
emp++; /* skip comma separator */
- for (; *emp && isspace(*emp); emp++); /* skip blanks */
+ for (; *emp && isspace((unsigned char)*emp); emp++); /* skip blanks */
empoint2 = (shalfword)atoi(emp);
- for (; *emp && isdigit(*emp); emp++); /* skip point 2 */
+ for (; *emp && isdigit((unsigned char)*emp); emp++); /* skip point 2 */
if ( *emp && strchr("hvp",*emp)!=0 )
emp++; /* skip line cut */
- for (; *emp && isspace(*emp); emp++); /* skip blanks */
+ for (; *emp && isspace((unsigned char)*emp); emp++); /* skip blanks */
if ( *emp && (*emp==',') )
emp++; /* skip comma separator */
emwidth = -1.0;
@@ -274,8 +274,8 @@ char *emp;
}
else if (strncmp(emp, "graph", 5) == 0) {
int i;
- for (emp = emp+5; *emp && isspace(*emp); emp++); /* skip blanks */
- for (i=0; *emp && !isspace(*emp) && !(*emp==','); emp++) {
+ for (emp = emp+5; *emp && isspace((unsigned char)*emp); emp++); /* skip blanks */
+ for (i=0; *emp && !isspace((unsigned char)*emp) && !(*emp==','); emp++) {
if (strlen(emstr) - 2 >= sizeof(emstr)) {
fprintf(stderr, "em:graph: special too long, truncating\n");
break;
@@ -285,14 +285,14 @@ char *emp;
emstr[i] = '\0';
/* now get optional width and height */
emwidth = emheight = -1.0; /* no dimension is <= 0 */
- for (; *emp && ( isspace(*emp) || (*emp==',') ); emp++)
+ for (; *emp && ( isspace((unsigned char)*emp) || (*emp==',') ); emp++)
; /* skip blanks and comma */
if (*emp) {
sscanf(emp, "%f%2s", &emwidth, emunit); /* read width */
emwidth = emunits(emwidth,emunit); /* convert to pixels */
- for (; *emp && (*emp=='.'||isdigit(*emp)||isalpha(*emp)); emp++)
+ for (; *emp && (*emp=='.'||isdigit((unsigned char)*emp)||isalpha((unsigned char)*emp)); emp++)
; /* skip width dimension */
- for (; *emp && ( isspace(*emp) || (*emp==',') ); emp++)
+ for (; *emp && ( isspace((unsigned char)*emp) || (*emp==',') ); emp++)
; /* skip blanks and comma */
if (*emp) {
sscanf(emp, "%f%2s", &emheight, emunit); /* read height */
diff --git a/Build/source/texk/dvipsk/resident.c b/Build/source/texk/dvipsk/resident.c
index 2212fe7b554..a7b496d8cda 100644
--- a/Build/source/texk/dvipsk/resident.c
+++ b/Build/source/texk/dvipsk/resident.c
@@ -642,7 +642,7 @@ case 'R':
lastresortsizes[i] = 32000;
#else /* KPATHSEA */
for (p = was_inline + 1; *p; p++) {
- if (isblank (*p)) {
+ if (isblank ((unsigned char)*p)) {
*p = ':';
}
}
diff --git a/Build/source/texk/dvipsk/writet1.c b/Build/source/texk/dvipsk/writet1.c
index cf4e32e3fdd..460c477c5f5 100644
--- a/Build/source/texk/dvipsk/writet1.c
+++ b/Build/source/texk/dvipsk/writet1.c
@@ -479,7 +479,7 @@ static float t1_scan_num(char *p, char **r)
pdftex_fail("a number expected: `%s'", t1_line_array);
}
if (r != NULL) {
- for (; isdigit(*p) || *p == '.' ||
+ for (; isdigit((unsigned char)*p) || *p == '.' ||
*p == 'e' || *p == 'E' || *p == '+' || *p == '-'; p++);
*r = p;
}
@@ -1329,7 +1329,7 @@ static void t1_flush_cs(boolean is_subr)
t1_line_ptr = t1_line_array;
for (p = start_line; p - start_line < size_pos;)
*t1_line_ptr++ = *p++;
- while (isdigit(*p))
+ while (isdigit((unsigned char)*p))
p++;
sprintf(t1_line_ptr, "%u", count);
strcat(t1_line_ptr, p);