unicode_fromascii() checks that the input is ASCII in debug mode

This commit is contained in:
Victor Stinner 2011-10-05 23:26:01 +02:00
parent a336de7ae1
commit 0617b6e18b
1 changed files with 11 additions and 3 deletions

View File

@ -1537,12 +1537,20 @@ PyUnicode_FromString(const char *u)
} }
static PyObject* static PyObject*
unicode_fromascii(const unsigned char* u, Py_ssize_t size) unicode_fromascii(const unsigned char* s, Py_ssize_t size)
{ {
PyObject *res = PyUnicode_New(size, 127); PyObject *res;
#ifdef Py_DEBUG
const unsigned char *p;
const unsigned char *end = s + size;
for (p=s; p < end; p++) {
assert(*p < 128);
}
#endif
res = PyUnicode_New(size, 127);
if (!res) if (!res)
return NULL; return NULL;
memcpy(PyUnicode_1BYTE_DATA(res), u, size); memcpy(PyUnicode_1BYTE_DATA(res), s, size);
return res; return res;
} }