use Py_CHARMASK
diff --git a/Modules/stropmodule.c b/Modules/stropmodule.c
index 326dfb8..90ee4fd 100644
--- a/Modules/stropmodule.c
+++ b/Modules/stropmodule.c
@@ -41,7 +41,6 @@
{
int len, i, j, err;
char *s;
- char c;
object *list, *item;
if (!getargs(args, "s#", &s, &len))
@@ -52,13 +51,11 @@
i = 0;
while (i < len) {
- while (i < len &&
- ((c = s[i]), isspace(c))) {
+ while (i < len && isspace(Py_CHARMASK(s[i]))) {
i = i+1;
}
j = i;
- while (i < len &&
- !((c = s[i]), isspace(c))) {
+ while (i < len && isspace(Py_CHARMASK(s[i]))) {
i = i+1;
}
if (j < i) {
@@ -269,20 +266,19 @@
{
char *s;
int len, i, j;
- char c;
if (!getargs(args, "s#", &s, &len))
return NULL;
i = 0;
- while (i < len && ((c = s[i]), isspace(c))) {
+ while (i < len && isspace(Py_CHARMASK(s[i]))) {
i++;
}
j = len;
do {
j--;
- } while (j >= i && ((c = s[j]), isspace(c)));
+ } while (j >= i && isspace(Py_CHARMASK(s[i])));
j++;
if (i == 0 && j == len) {
@@ -312,7 +308,7 @@
s_new = getstringvalue(new);
changed = 0;
for (i = 0; i < n; i++) {
- char c = *s++;
+ int c = Py_CHARMASK(*s++);
if (isupper(c)) {
changed = 1;
*s_new = tolower(c);
@@ -347,7 +343,7 @@
s_new = getstringvalue(new);
changed = 0;
for (i = 0; i < n; i++) {
- char c = *s++;
+ int c = Py_CHARMASK(*s++);
if (islower(c)) {
changed = 1;
*s_new = toupper(c);
@@ -382,7 +378,7 @@
s_new = getstringvalue(new);
changed = 0;
for (i = 0; i < n; i++) {
- char c = *s++;
+ int c = Py_CHARMASK(*s++);
if (islower(c)) {
changed = 1;
*s_new = toupper(c);
@@ -530,7 +526,7 @@
/* Create 'whitespace' object */
n = 0;
- for (c = 1; c < 256; c++) {
+ for (c = 0; c < 256; c++) {
if (isspace(c))
buf[n++] = c;
}
@@ -541,7 +537,7 @@
}
/* Create 'lowercase' object */
n = 0;
- for (c = 1; c < 256; c++) {
+ for (c = 0; c < 256; c++) {
if (islower(c))
buf[n++] = c;
}
@@ -553,7 +549,7 @@
/* Create 'uppercase' object */
n = 0;
- for (c = 1; c < 256; c++) {
+ for (c = 0; c < 256; c++) {
if (isupper(c))
buf[n++] = c;
}