From f32779b198258da5b28cad6e810e4017c9f6dbc9 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Fri, 7 Jun 2019 11:44:48 +0200 Subject: [PATCH] py3: Remove PyStr_AsUTF8AndSize() compatability macro We no longer need Samba to be py2/py3 compatible so we choose to return to the standard function names. Signed-off-by: Andrew Bartlett Reviewed-by: Noel Power --- lib/ldb/pyldb.c | 21 +++++---------------- python/py3compat.h | 2 -- source4/auth/pyauth.c | 2 +- source4/librpc/ndr/py_misc.c | 2 +- 4 files changed, 7 insertions(+), 20 deletions(-) diff --git a/lib/ldb/pyldb.c b/lib/ldb/pyldb.c index 1fd0965b2f1..214f1d0d3dd 100644 --- a/lib/ldb/pyldb.c +++ b/lib/ldb/pyldb.c @@ -85,7 +85,6 @@ static struct ldb_message_element *PyObject_AsMessageElement( static PyTypeObject PyLdbBytesType; #if PY_MAJOR_VERSION >= 3 -#define PyStr_AsUTF8AndSize PyUnicode_AsUTF8AndSize #define PyInt_FromLong PyLong_FromLong #define PYARG_STR_UNI "es" @@ -104,16 +103,6 @@ static PyObject *PyLdbBytes_FromStringAndSize(const char *msg, int size) #define PYARG_STR_UNI "et" -const char *PyStr_AsUTF8AndSize(PyObject *pystr, Py_ssize_t *sizeptr); -const char * -PyStr_AsUTF8AndSize(PyObject *pystr, Py_ssize_t *sizeptr) -{ - const char * ret = PyString_AsString(pystr); - if (ret == NULL) - return NULL; - *sizeptr = PyString_Size(pystr); - return ret; -} #endif static PyObject *richcmp(int cmp_val, int op) @@ -1150,7 +1139,7 @@ static const char **PyList_AsStrList(TALLOC_CTX *mem_ctx, PyObject *list, talloc_free(ret); return NULL; } - str = PyStr_AsUTF8AndSize(item, &size); + str = PyUnicode_AsUTF8AndSize(item, &size); if (str == NULL) { talloc_free(ret); return NULL; @@ -3007,7 +2996,7 @@ static struct ldb_message_element *PyObject_AsMessageElement( } msg = _msg; } else { - msg = PyStr_AsUTF8AndSize(set_obj, &size); + msg = PyUnicode_AsUTF8AndSize(set_obj, &size); if (msg == NULL) { talloc_free(me); return NULL; @@ -3032,7 +3021,7 @@ static struct ldb_message_element *PyObject_AsMessageElement( } msg = _msg; } else if (PyUnicode_Check(obj)) { - msg = PyStr_AsUTF8AndSize(obj, &size); + msg = PyUnicode_AsUTF8AndSize(obj, &size); if (msg == NULL) { talloc_free(me); return NULL; @@ -3216,7 +3205,7 @@ static PyObject *py_ldb_msg_element_new(PyTypeObject *type, PyObject *args, PyOb result = PyBytes_AsStringAndSize(py_elements, &_msg, &size); msg = _msg; } else { - msg = PyStr_AsUTF8AndSize(py_elements, &size); + msg = PyUnicode_AsUTF8AndSize(py_elements, &size); result = (msg == NULL) ? -1 : 0; } if (result != 0) { @@ -3245,7 +3234,7 @@ static PyObject *py_ldb_msg_element_new(PyTypeObject *type, PyObject *args, PyOb result = PyBytes_AsStringAndSize(item, &_msg, &size); msg = _msg; } else if (PyUnicode_Check(item)) { - msg = PyStr_AsUTF8AndSize(item, &size); + msg = PyUnicode_AsUTF8AndSize(item, &size); result = (msg == NULL) ? -1 : 0; } else { PyErr_Format(PyExc_TypeError, diff --git a/python/py3compat.h b/python/py3compat.h index 4eca97513d1..d2adb24c6a2 100644 --- a/python/py3compat.h +++ b/python/py3compat.h @@ -54,8 +54,6 @@ /* Strings */ -#define PyStr_AsUTF8AndSize PyUnicode_AsUTF8AndSize - /* description of bytes objects */ #define PY_DESC_PY3_BYTES "bytes" diff --git a/source4/auth/pyauth.c b/source4/auth/pyauth.c index b4963e8eab6..92fad3d20f0 100644 --- a/source4/auth/pyauth.c +++ b/source4/auth/pyauth.c @@ -305,7 +305,7 @@ static const char **PyList_AsStringList(TALLOC_CTX *mem_ctx, PyObject *list, PyErr_Format(PyExc_TypeError, "%s should be strings", paramname); return NULL; } - value = PyStr_AsUTF8AndSize(item, &size); + value = PyUnicode_AsUTF8AndSize(item, &size); if (value == NULL) { talloc_free(ret); return NULL; diff --git a/source4/librpc/ndr/py_misc.c b/source4/librpc/ndr/py_misc.c index d3c91a46d6b..975235490ad 100644 --- a/source4/librpc/ndr/py_misc.c +++ b/source4/librpc/ndr/py_misc.c @@ -105,7 +105,7 @@ static int py_GUID_init(PyObject *self, PyObject *args, PyObject *kwargs) if (!IsPy3Bytes(str)) { guid_val.data = discard_const_p(uint8_t, - PyStr_AsUTF8AndSize(str, &_size)); + PyUnicode_AsUTF8AndSize(str, &_size)); } else { guid_val.data = discard_const_p(uint8_t, -- 2.47.3