From 7681b23a5c4fb578ec050f65945bfe87c37c36e5 Mon Sep 17 00:00:00 2001 From: Renato Filho Date: Wed, 28 Sep 2011 15:49:29 -0300 Subject: Updated Shiboken::Buffer API to Py3k. --- libshiboken/shibokenbuffer.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/libshiboken/shibokenbuffer.cpp b/libshiboken/shibokenbuffer.cpp index 6f41804ae..5ee2ef774 100644 --- a/libshiboken/shibokenbuffer.cpp +++ b/libshiboken/shibokenbuffer.cpp @@ -34,11 +34,23 @@ void* Shiboken::Buffer::getPointer(PyObject* pyObj, Py_ssize_t* size) const void* buffer = 0; Py_ssize_t bufferSize = 0; +#ifdef IS_PY3K + Py_buffer view; + printf("VAI PEGAR O BUFFER\n"); + if (PyObject_GetBuffer(pyObj, &view, PyBUF_ND) == 0) { + printf("PEGOU O BUFFER\n"); + return view.buf; + } else { + printf("FALHA TOTAL\n"); + return 0; + } +#else PyObject_AsReadBuffer(pyObj, &buffer, &bufferSize); if (size) *size = bufferSize; return const_cast(buffer); +#endif } PyObject* Shiboken::Buffer::newObject(void* memory, Py_ssize_t size, Type type) -- cgit v1.2.3