From: Jordan Rupprecht Date: Thu, 20 Sep 2018 18:05:56 +0000 (-0700) Subject: Use a separate Py_ssize_t var instead of casting an int pointer as a Py_ssize_t pointer. X-Git-Tag: v1.5rc1~29 X-Git-Url: http://developer.intra2net.com/git/?p=libftdi;a=commitdiff_plain;h=bfbd47b7de65aa41c433945283d7bc0ebfa5576a Use a separate Py_ssize_t var instead of casting an int pointer as a Py_ssize_t pointer. Casting is fine if Py_ssize_t == int, but not when Py_ssize_t == long. Signed-off-by: Jordan Rupprecht --- diff --git a/python/ftdi1.i b/python/ftdi1.i index 93793f8..d53ebb0 100644 --- a/python/ftdi1.i +++ b/python/ftdi1.i @@ -22,11 +22,13 @@ inline PyObject* charp2str(const char *v_, long len) inline char * str2charp_size(PyObject* pyObj, int * size) { char * v_ = 0; + Py_ssize_t len = 0; #if PY_MAJOR_VERSION >= 3 - PyBytes_AsStringAndSize(pyObj, &v_, (Py_ssize_t*)size); + PyBytes_AsStringAndSize(pyObj, &v_, &len); #else - PyString_AsStringAndSize(pyObj, &v_, (Py_ssize_t*)size); + PyString_AsStringAndSize(pyObj, &v_, &len); #endif + *size = len; return v_; } %}