changeset: 87083:28f71af02b69 user: Victor Stinner date: Wed Nov 13 14:17:30 2013 +0100 files: Modules/_elementtree.c Modules/posixmodule.c Objects/namespaceobject.c description: Don't use deprecated function PyUnicode_GET_SIZE() Replace it with PyUnicode_GET_LENGTH() or PyUnicode_AsUnicodeAndSize() diff -r 13203ea0ac5b -r 28f71af02b69 Modules/_elementtree.c --- a/Modules/_elementtree.c Wed Nov 13 13:29:37 2013 +0100 +++ b/Modules/_elementtree.c Wed Nov 13 14:17:30 2013 +0100 @@ -3461,7 +3461,7 @@ if (PyUnicode_CheckExact(buffer)) { /* A unicode object is encoded into bytes using UTF-8 */ - if (PyUnicode_GET_SIZE(buffer) == 0) { + if (PyUnicode_GET_LENGTH(buffer) == 0) { Py_DECREF(buffer); break; } diff -r 13203ea0ac5b -r 28f71af02b69 Modules/posixmodule.c --- a/Modules/posixmodule.c Wed Nov 13 13:29:37 2013 +0100 +++ b/Modules/posixmodule.c Wed Nov 13 14:17:30 2013 +0100 @@ -829,15 +829,14 @@ if (unicode) { #ifdef MS_WINDOWS wchar_t *wide; - length = PyUnicode_GET_SIZE(unicode); - if (length > 32767) { - FORMAT_EXCEPTION(PyExc_ValueError, "%s too long for Windows"); + + wide = PyUnicode_AsUnicodeAndSize(unicode, &length); + if (!wide) { Py_DECREF(unicode); return 0; } - - wide = PyUnicode_AsUnicode(unicode); - if (!wide) { + if (length > 32767) { + FORMAT_EXCEPTION(PyExc_ValueError, "%s too long for Windows"); Py_DECREF(unicode); return 0; } diff -r 13203ea0ac5b -r 28f71af02b69 Objects/namespaceobject.c --- a/Objects/namespaceobject.c Wed Nov 13 13:29:37 2013 +0100 +++ b/Objects/namespaceobject.c Wed Nov 13 14:17:30 2013 +0100 @@ -101,7 +101,7 @@ goto error; while ((key = PyIter_Next(keys_iter)) != NULL) { - if (PyUnicode_Check(key) && PyUnicode_GET_SIZE(key) > 0) { + if (PyUnicode_Check(key) && PyUnicode_GET_LENGTH(key) > 0) { PyObject *value, *item; value = PyDict_GetItem(d, key);