summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Modules/_elementtree.c2
-rw-r--r--Modules/posixmodule.c11
-rw-r--r--Objects/namespaceobject.c2
3 files changed, 7 insertions, 8 deletions
diff --git a/Modules/_elementtree.c b/Modules/_elementtree.c
index cb7069d..797e357 100644
--- a/Modules/_elementtree.c
+++ b/Modules/_elementtree.c
@@ -3461,7 +3461,7 @@ xmlparser_parse_whole(XMLParserObject* self, PyObject* args)
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 --git a/Modules/posixmodule.c b/Modules/posixmodule.c
index f282f99..5e5f355 100644
--- a/Modules/posixmodule.c
+++ b/Modules/posixmodule.c
@@ -829,15 +829,14 @@ path_converter(PyObject *o, void *p) {
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 --git a/Objects/namespaceobject.c b/Objects/namespaceobject.c
index 9e95094..720ac0d 100644
--- a/Objects/namespaceobject.c
+++ b/Objects/namespaceobject.c
@@ -101,7 +101,7 @@ namespace_repr(PyObject *ns)
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);