From bfbd47b7de65aa41c433945283d7bc0ebfa5576a Mon Sep 17 00:00:00 2001 From: Jordan Rupprecht Date: Thu, 20 Sep 2018 11:05:56 -0700 Subject: [PATCH] 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 --- python/ftdi1.i | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) 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_; } %} -- 1.7.1