Fix misuse of PyUnicode_GET_SIZE, use PyUnicode_GET_LENGTH instead

This commit is contained in:
Victor Stinner 2011-10-11 22:11:42 +02:00
parent ed2682be2f
commit c4f281eba3
6 changed files with 10 additions and 12 deletions

View File

@ -2719,7 +2719,7 @@ PyCurses_ConvertToWchar_t(PyObject *obj,
PyErr_Format(PyExc_TypeError,
"expect bytes or str of length 1, or int, "
"got a str of length %zi",
PyUnicode_GET_SIZE(obj));
PyUnicode_GET_LENGTH(obj));
return 0;
}
*wch = buffer[0];

View File

@ -343,7 +343,7 @@ stringio_iternext(stringio *self)
if (line == NULL)
return NULL;
if (PyUnicode_GET_SIZE(line) == 0) {
if (PyUnicode_GET_LENGTH(line) == 0) {
/* Reached EOF */
Py_DECREF(line);
return NULL;

View File

@ -837,7 +837,7 @@ _parse_constant(PyScannerObject *s, char *constant, Py_ssize_t idx, Py_ssize_t *
/* rval = parse_constant(constant) */
rval = PyObject_CallFunctionObjArgs(s->parse_constant, cstr, NULL);
idx += PyUnicode_GET_SIZE(cstr);
idx += PyUnicode_GET_LENGTH(cstr);
Py_DECREF(cstr);
*next_idx_ptr = idx;
return rval;

View File

@ -90,18 +90,16 @@ syslog_get_argv(void)
if (!PyUnicode_Check(scriptobj)) {
return(NULL);
}
scriptlen = PyUnicode_GET_SIZE(scriptobj);
scriptlen = PyUnicode_GET_LENGTH(scriptobj);
if (scriptlen == 0) {
return(NULL);
}
slash = PyUnicode_FindChar(scriptobj, SEP,
0, PyUnicode_GET_LENGTH(scriptobj), -1);
slash = PyUnicode_FindChar(scriptobj, SEP, 0, scriptlen, -1);
if (slash == -2)
return NULL;
if (slash != -1) {
return PyUnicode_Substring(scriptobj, slash,
PyUnicode_GET_LENGTH(scriptobj));
return PyUnicode_Substring(scriptobj, slash, scriptlen);
} else {
Py_INCREF(scriptobj);
return(scriptobj);

View File

@ -12181,7 +12181,7 @@ unicode_maketrans(PyUnicodeObject *null, PyObject *args)
if (z != NULL) {
z_kind = PyUnicode_KIND(z);
z_data = PyUnicode_DATA(z);
for (i = 0; i < PyUnicode_GET_SIZE(z); i++) {
for (i = 0; i < PyUnicode_GET_LENGTH(z); i++) {
key = PyLong_FromLong(PyUnicode_READ(z_kind, z_data, i));
if (!key)
goto err;
@ -12206,7 +12206,7 @@ unicode_maketrans(PyUnicodeObject *null, PyObject *args)
if (PyUnicode_Check(key)) {
/* convert string keys to integer keys */
PyObject *newkey;
if (PyUnicode_GET_SIZE(key) != 1) {
if (PyUnicode_GET_LENGTH(key) != 1) {
PyErr_SetString(PyExc_ValueError, "string keys in translate "
"table must be of length 1");
goto err;
@ -13694,7 +13694,7 @@ unicodeiter_len(unicodeiterobject *it)
{
Py_ssize_t len = 0;
if (it->it_seq)
len = PyUnicode_GET_SIZE(it->it_seq) - it->it_index;
len = PyUnicode_GET_LENGTH(it->it_seq) - it->it_index;
return PyLong_FromSsize_t(len);
}

View File

@ -693,7 +693,7 @@ format_string_internal(PyObject *value, const InternalFormatSpec *format)
Py_ssize_t rpad;
Py_ssize_t total;
Py_ssize_t pos;
Py_ssize_t len = PyUnicode_GET_SIZE(value);
Py_ssize_t len = PyUnicode_GET_LENGTH(value);
PyObject *result = NULL;
int maxchar = 127;