From: Martin v. Löwis Date: Thu, 13 Apr 2006 06:06:08 +0000 (+0000) Subject: Revert 34153: Py_UNICODE should not be signed. X-Git-Tag: v2.5a2~282 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=80d2e591d5c18e46cbb9e3d8c043ae7a32c1c8eb;p=thirdparty%2FPython%2Fcpython.git Revert 34153: Py_UNICODE should not be signed. --- diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c index 30ae6f011ff0..6d8f2e4fafb8 100644 --- a/Objects/unicodeobject.c +++ b/Objects/unicodeobject.c @@ -135,14 +135,9 @@ int unicode_resize(register PyUnicodeObject *unicode, /* Resizing shared object (unicode_empty or single character objects) in-place is not allowed. Use PyUnicode_Resize() instead ! */ - if (unicode == unicode_empty || - (unicode->length == 1 && - /* MvL said unicode->str[] may be signed. Python generally assumes - * an int contains at least 32 bits, and we don't use more than - * 32 bits even in a UCS4 build, so casting to unsigned int should - * be correct. - */ - (unsigned int)unicode->str[0] < 256U && + if (unicode == unicode_empty || + (unicode->length == 1 && + unicode->str[0] < 256U && unicode_latin1[unicode->str[0]] == unicode)) { PyErr_SetString(PyExc_SystemError, "can't resize shared unicode objects");