diff options
author | Renato Filho <renato.filho@openbossa.org> | 2011-09-28 15:49:29 -0300 |
---|---|---|
committer | Hugo Parente Lima <hugo.pl@gmail.com> | 2012-03-08 16:18:18 -0300 |
commit | 7681b23a5c4fb578ec050f65945bfe87c37c36e5 (patch) | |
tree | 273a2eafa4c910285ef25fd4d59bc0c73986d49f | |
parent | 274c66a017891b6c2f01c159929e9849be1407e7 (diff) |
Updated Shiboken::Buffer API to Py3k.
-rw-r--r-- | libshiboken/shibokenbuffer.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
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<void*>(buffer); +#endif } PyObject* Shiboken::Buffer::newObject(void* memory, Py_ssize_t size, Type type) |