diff options
author | Neal Norwitz <nnorwitz@gmail.com> | 2008-03-23 06:19:57 +0000 |
---|---|---|
committer | Neal Norwitz <nnorwitz@gmail.com> | 2008-03-23 06:19:57 +0000 |
commit | ade57d048527f35a6086040a14a0e7184faa91ce (patch) | |
tree | 42142a68d3a30bc793fd7706853ad292581061a4 | |
parent | acdb6fb2a58bf7a4cbeb647c2a9201eb9009f68a (diff) | |
download | cpython-git-ade57d048527f35a6086040a14a0e7184faa91ce.tar.gz |
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.
-rw-r--r-- | Objects/unicodeobject.c | 8 | ||||
-rw-r--r-- | Python/pystrcmp.c | 11 |
2 files changed, 10 insertions, 9 deletions
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c index dd56e113d2..5878f96166 100644 --- a/Objects/unicodeobject.c +++ b/Objects/unicodeobject.c @@ -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. diff --git a/Python/pystrcmp.c b/Python/pystrcmp.c index 0012ef33bc..84295e7d21 100644 --- a/Python/pystrcmp.c +++ b/Python/pystrcmp.c @@ -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)); } |