Remove compiler warnings (on Alpha at least) about using chars as

array subscripts.  Using chars are dangerous b/c they are signed
on some platforms and unsigned on others.
This commit is contained in:
Neal Norwitz 2008-03-23 06:19:57 +00:00
parent acdb6fb2a5
commit ade57d0485
2 changed files with 10 additions and 9 deletions

View File

@ -624,9 +624,9 @@ PyUnicode_FromFormatV(const char *format, va_list vargs)
if (*f == '%') {
const char* p = f;
width = 0;
while (isdigit(*f))
while (isdigit((unsigned)*f))
width = (width*10) + *f++ - '0';
while (*++f && *f != '%' && !isalpha(*f))
while (*++f && *f != '%' && !isalpha((unsigned)*f))
;
/* skip the 'l' or 'z' in {%ld, %zd, %lu, %zu} since
@ -787,12 +787,12 @@ PyUnicode_FromFormatV(const char *format, va_list vargs)
zeropad = (*f == '0');
/* parse the width.precision part */
width = 0;
while (isdigit(*f))
while (isdigit((unsigned)*f))
width = (width*10) + *f++ - '0';
precision = 0;
if (*f == '.') {
f++;
while (isdigit(*f))
while (isdigit((unsigned)*f))
precision = (precision*10) + *f++ - '0';
}
/* handle the long flag, but only for %ld and %lu.

View File

@ -1,4 +1,4 @@
/* Cross platform case insenstive string compare functions
/* Cross platform case insensitive string compare functions
*/
#include "Python.h"
@ -8,18 +8,19 @@ PyOS_mystrnicmp(const char *s1, const char *s2, Py_ssize_t size)
{
if (size == 0)
return 0;
while ((--size > 0) && (tolower(*s1) == tolower(*s2))) {
while ((--size > 0) &&
(tolower((unsigned)*s1) == tolower((unsigned)*s2))) {
if (!*s1++ || !*s2++)
break;
}
return tolower(*s1) - tolower(*s2);
return tolower((unsigned)*s1) - tolower((unsigned)*s2);
}
int
PyOS_mystricmp(const char *s1, const char *s2)
{
while (*s1 && (tolower(*s1++) == tolower(*s2++))) {
while (*s1 && (tolower((unsigned)*s1++) == tolower((unsigned)*s2++))) {
;
}
return (tolower(*s1) - tolower(*s2));
return (tolower((unsigned)*s1) - tolower((unsigned)*s2));
}