Commit ade57d04 authored by Neal Norwitz's avatar Neal Norwitz

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.
parent acdb6fb2
...@@ -624,9 +624,9 @@ PyUnicode_FromFormatV(const char *format, va_list vargs) ...@@ -624,9 +624,9 @@ PyUnicode_FromFormatV(const char *format, va_list vargs)
if (*f == '%') { if (*f == '%') {
const char* p = f; const char* p = f;
width = 0; width = 0;
while (isdigit(*f)) while (isdigit((unsigned)*f))
width = (width*10) + *f++ - '0'; 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 /* skip the 'l' or 'z' in {%ld, %zd, %lu, %zu} since
...@@ -787,12 +787,12 @@ PyUnicode_FromFormatV(const char *format, va_list vargs) ...@@ -787,12 +787,12 @@ PyUnicode_FromFormatV(const char *format, va_list vargs)
zeropad = (*f == '0'); zeropad = (*f == '0');
/* parse the width.precision part */ /* parse the width.precision part */
width = 0; width = 0;
while (isdigit(*f)) while (isdigit((unsigned)*f))
width = (width*10) + *f++ - '0'; width = (width*10) + *f++ - '0';
precision = 0; precision = 0;
if (*f == '.') { if (*f == '.') {
f++; f++;
while (isdigit(*f)) while (isdigit((unsigned)*f))
precision = (precision*10) + *f++ - '0'; precision = (precision*10) + *f++ - '0';
} }
/* handle the long flag, but only for %ld and %lu. /* handle the long flag, but only for %ld and %lu.
......
/* Cross platform case insenstive string compare functions /* Cross platform case insensitive string compare functions
*/ */
#include "Python.h" #include "Python.h"
...@@ -8,18 +8,19 @@ PyOS_mystrnicmp(const char *s1, const char *s2, Py_ssize_t size) ...@@ -8,18 +8,19 @@ PyOS_mystrnicmp(const char *s1, const char *s2, Py_ssize_t size)
{ {
if (size == 0) if (size == 0)
return 0; return 0;
while ((--size > 0) && (tolower(*s1) == tolower(*s2))) { while ((--size > 0) &&
(tolower((unsigned)*s1) == tolower((unsigned)*s2))) {
if (!*s1++ || !*s2++) if (!*s1++ || !*s2++)
break; break;
} }
return tolower(*s1) - tolower(*s2); return tolower((unsigned)*s1) - tolower((unsigned)*s2);
} }
int int
PyOS_mystricmp(const char *s1, const char *s2) 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));
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment