Remove all other uses of the C tolower()/toupper() which could break with a Turkish locale.

This commit is contained in:
Antoine Pitrou 2011-10-04 13:50:21 +02:00
parent 1665d2c75f
commit ed8ba14441
3 changed files with 6 additions and 6 deletions

View File

@ -661,8 +661,8 @@ Tkapp_New(char *screenName, char *className,
} }
strcpy(argv0, className); strcpy(argv0, className);
if (isupper(Py_CHARMASK(argv0[0]))) if (Py_ISUPPER(Py_CHARMASK(argv0[0])))
argv0[0] = tolower(Py_CHARMASK(argv0[0])); argv0[0] = Py_TOLOWER(Py_CHARMASK(argv0[0]));
Tcl_SetVar(v->interp, "argv0", argv0, TCL_GLOBAL_ONLY); Tcl_SetVar(v->interp, "argv0", argv0, TCL_GLOBAL_ONLY);
ckfree(argv0); ckfree(argv0);

View File

@ -1102,8 +1102,8 @@ to_int(int c)
if (isdigit(c)) if (isdigit(c))
return c - '0'; return c - '0';
else { else {
if (isupper(c)) if (Py_ISUPPER(c))
c = tolower(c); c = Py_TOLOWER(c);
if (c >= 'a' && c <= 'f') if (c >= 'a' && c <= 'f')
return c - 'a' + 10; return c - 'a' + 10;
} }

View File

@ -830,7 +830,7 @@ _gethash(const char *s, int len, int scale)
unsigned long h = 0; unsigned long h = 0;
unsigned long ix; unsigned long ix;
for (i = 0; i < len; i++) { for (i = 0; i < len; i++) {
h = (h * scale) + (unsigned char) toupper(Py_CHARMASK(s[i])); h = (h * scale) + (unsigned char) Py_TOUPPER(Py_CHARMASK(s[i]));
ix = h & 0xff000000; ix = h & 0xff000000;
if (ix) if (ix)
h = (h ^ ((ix>>24) & 0xff)) & 0x00ffffff; h = (h ^ ((ix>>24) & 0xff)) & 0x00ffffff;
@ -980,7 +980,7 @@ _cmpname(PyObject *self, int code, const char* name, int namelen)
if (!_getucname(self, code, buffer, sizeof(buffer))) if (!_getucname(self, code, buffer, sizeof(buffer)))
return 0; return 0;
for (i = 0; i < namelen; i++) { for (i = 0; i < namelen; i++) {
if (toupper(Py_CHARMASK(name[i])) != buffer[i]) if (Py_TOUPPER(Py_CHARMASK(name[i])) != buffer[i])
return 0; return 0;
} }
return buffer[namelen] == '\0'; return buffer[namelen] == '\0';