diff --git a/Lib/python/pyhead.swg b/Lib/python/pyhead.swg index 43b074955f6..c0faf01e9b7 100644 --- a/Lib/python/pyhead.swg +++ b/Lib/python/pyhead.swg @@ -35,10 +35,11 @@ SWIG_PyUnicode_AsUTF8AndSize(PyObject *str, Py_ssize_t *psize, PyObject **pbytes *pbytes = NULL; return PyUnicode_AsUTF8AndSize(str, psize); # else - *pbytes = PyUnicode_AsUTF8String(str); - const char *chars = *pbytes ? PyBytes_AsString(*pbytes) : NULL; - if (chars && psize) - *psize = PyBytes_Size(*pbytes); + const char *chars; + *pbytes = PyUnicode_AsUTF8String(str); + chars = *pbytes ? PyBytes_AsString(*pbytes) : NULL; + if (chars && psize) + *psize = PyBytes_Size(*pbytes); return chars; # endif #else diff --git a/Lib/python/pyrun.swg b/Lib/python/pyrun.swg index 84aa0b6df74..c7cf7db40c1 100644 --- a/Lib/python/pyrun.swg +++ b/Lib/python/pyrun.swg @@ -745,11 +745,14 @@ SwigPyObject_Check(PyObject *op) { return 1; return (strcmp(op_type->tp_name, "SwigPyObject") == 0); #else +# ifdef Py_LIMITED_API + int cmp; + PyObject *tp_name; +#endif if (op_type == target_tp) return 1; # ifdef Py_LIMITED_API - int cmp; - PyObject *tp_name = PyObject_GetAttrString((PyObject *)op_type, "__name__"); + tp_name = PyObject_GetAttrString((PyObject *)op_type, "__name__"); if (!tp_name) return 0; cmp = PyUnicode_CompareWithASCIIString(tp_name, "SwigPyObject"); @@ -1132,12 +1135,15 @@ SwigPyPacked_type(void) { SWIGRUNTIMEINLINE int SwigPyPacked_Check(PyObject *op) { +#ifdef Py_LIMITED_API + int cmp; + PyObject *tp_name; +#endif PyTypeObject* op_type = Py_TYPE(op); if (op_type == SwigPyPacked_TypeOnce()) return 1; #ifdef Py_LIMITED_API - int cmp; - PyObject *tp_name = PyObject_GetAttrString((PyObject *)op_type, "__name__"); + tp_name = PyObject_GetAttrString((PyObject *)op_type, "__name__"); if (!tp_name) return 0; cmp = PyUnicode_CompareWithASCIIString(tp_name, "SwigPyPacked");