Skip to content

Commit

Permalink
Force chars to unsigned chars in SDL_string.c, so platforms that expect
Browse files Browse the repository at this point in the history
 these to not be negative, when not EOF, work.

   Fixes Bugzilla #338.
  • Loading branch information
icculus committed Feb 15, 2007
1 parent ecebcdd commit 1db9e0b
Showing 1 changed file with 17 additions and 17 deletions.
34 changes: 17 additions & 17 deletions src/stdlib/SDL_string.c
Expand Up @@ -45,7 +45,7 @@ static size_t SDL_ScanLong(const char *text, int radix, long *valuep)
}
for ( ; ; ) {
int v;
if ( SDL_isdigit(*text) ) {
if ( SDL_isdigit((unsigned char) *text) ) {
v = *text - '0';
} else if ( radix == 16 && SDL_isupperhex(*text) ) {
v = 10 + (*text - 'A');
Expand Down Expand Up @@ -80,7 +80,7 @@ static size_t SDL_ScanUnsignedLong(const char *text, int radix, unsigned long *v
}
for ( ; ; ) {
int v;
if ( SDL_isdigit(*text) ) {
if ( SDL_isdigit((unsigned char) *text) ) {
v = *text - '0';
} else if ( radix == 16 && SDL_isupperhex(*text) ) {
v = 10 + (*text - 'A');
Expand Down Expand Up @@ -111,7 +111,7 @@ static size_t SDL_ScanUintPtrT(const char *text, int radix, uintptr_t *valuep)
}
for ( ; ; ) {
int v;
if ( SDL_isdigit(*text) ) {
if ( SDL_isdigit((unsigned char) *text) ) {
v = *text - '0';
} else if ( radix == 16 && SDL_isupperhex(*text) ) {
v = 10 + (*text - 'A');
Expand Down Expand Up @@ -148,7 +148,7 @@ static size_t SDL_ScanLongLong(const char *text, int radix, Sint64 *valuep)
}
for ( ; ; ) {
int v;
if ( SDL_isdigit(*text) ) {
if ( SDL_isdigit((unsigned char) *text) ) {
v = *text - '0';
} else if ( radix == 16 && SDL_isupperhex(*text) ) {
v = 10 + (*text - 'A');
Expand Down Expand Up @@ -183,7 +183,7 @@ static size_t SDL_ScanUnsignedLongLong(const char *text, int radix, Uint64 *valu
}
for ( ; ; ) {
int v;
if ( SDL_isdigit(*text) ) {
if ( SDL_isdigit((unsigned char) *text) ) {
v = *text - '0';
} else if ( radix == 16 && SDL_isupperhex(*text) ) {
v = 10 + (*text - 'A');
Expand Down Expand Up @@ -221,7 +221,7 @@ static size_t SDL_ScanFloat(const char *text, double *valuep)
if ( *text == '.' ) {
int mult = 10;
++text;
while ( SDL_isdigit(*text) ) {
while ( SDL_isdigit((unsigned char) *text) ) {
lvalue = *text - '0';
value += (double)lvalue / mult;
mult *= 10;
Expand Down Expand Up @@ -383,7 +383,7 @@ char *SDL_strupr(char *string)
{
char *bufp = string;
while ( *bufp ) {
*bufp = SDL_toupper(*bufp);
*bufp = SDL_toupper((unsigned char) *bufp);
++bufp;
}
return string;
Expand All @@ -395,7 +395,7 @@ char *SDL_strlwr(char *string)
{
char *bufp = string;
while ( *bufp ) {
*bufp = SDL_tolower(*bufp);
*bufp = SDL_tolower((unsigned char) *bufp);
++bufp;
}
return string;
Expand Down Expand Up @@ -699,8 +699,8 @@ int SDL_strcasecmp(const char *str1, const char *str2)
char a = 0;
char b = 0;
while ( *str1 && *str2 ) {
a = SDL_tolower(*str1);
b = SDL_tolower(*str2);
a = SDL_tolower((unsigned char) *str1);
b = SDL_tolower((unsigned char) *str2);
if ( a != b )
break;
++str1;
Expand All @@ -716,8 +716,8 @@ int SDL_strncasecmp(const char *str1, const char *str2, size_t maxlen)
char a = 0;
char b = 0;
while ( *str1 && *str2 && maxlen ) {
a = SDL_tolower(*str1);
b = SDL_tolower(*str2);
a = SDL_tolower((unsigned char) *str1);
b = SDL_tolower((unsigned char) *str2);
if ( a != b )
break;
++str1;
Expand All @@ -737,7 +737,7 @@ int SDL_sscanf(const char *text, const char *fmt, ...)
va_start(ap, fmt);
while ( *fmt ) {
if ( *fmt == ' ' ) {
while ( SDL_isspace(*text) ) {
while ( SDL_isspace((unsigned char) *text) ) {
++text;
}
++fmt;
Expand Down Expand Up @@ -788,7 +788,7 @@ int SDL_sscanf(const char *text, const char *fmt, ...)
continue;
}

while ( SDL_isspace(*text) ) {
while ( SDL_isspace((unsigned char) *text) ) {
++text;
}

Expand Down Expand Up @@ -821,7 +821,7 @@ int SDL_sscanf(const char *text, const char *fmt, ...)
++index;
}
if ( text[index] == '0' ) {
if ( SDL_tolower(text[index+1]) == 'x' ) {
if ( SDL_tolower((unsigned char) text[index+1]) == 'x' ) {
radix = 16;
} else {
radix = 8;
Expand Down Expand Up @@ -950,7 +950,7 @@ int SDL_sscanf(const char *text, const char *fmt, ...)
break;
case 's':
if ( suppress ) {
while ( !SDL_isspace(*text) ) {
while ( !SDL_isspace((unsigned char) *text) ) {
++text;
if ( count ) {
if ( --count == 0 ) {
Expand All @@ -960,7 +960,7 @@ int SDL_sscanf(const char *text, const char *fmt, ...)
}
} else {
char *valuep = va_arg(ap, char*);
while ( !SDL_isspace(*text) ) {
while ( !SDL_isspace((unsigned char) *text) ) {
*valuep++ = *text++;
if ( count ) {
if ( --count == 0 ) {
Expand Down

0 comments on commit 1db9e0b

Please sign in to comment.