[pypy-commit] cffi new_struct_allocated_size: When getting ffi.buffer() on CDataObject_own_structptr, use length field for buffer size
coronafire
pypy.commits at gmail.com
Wed Oct 19 02:53:28 EDT 2016
Author: Andrew Leech <andrew at alelec.net>
Branch: new_struct_allocated_size
Changeset: r2787:7e2189722b1d
Date: 2016-09-12 14:45 +1000
http://bitbucket.org/cffi/cffi/changeset/7e2189722b1d/
Log: When getting ffi.buffer() on CDataObject_own_structptr, use length
field for buffer size
diff --git a/c/_cffi_backend.c b/c/_cffi_backend.c
--- a/c/_cffi_backend.c
+++ b/c/_cffi_backend.c
@@ -5814,7 +5814,11 @@
&CData_Type, &cd, &size))
return NULL;
- if (cd->c_type->ct_flags & CT_POINTER) {
+ if (cd->c_type->ct_flags & CT_IS_PTR_TO_OWNED) {
+ if (size < 0)
+ size = ((CDataObject_own_structptr *)cd)->length;
+ }
+ else if (cd->c_type->ct_flags & CT_POINTER) {
if (size < 0)
size = cd->c_type->ct_itemdescr->ct_size;
}
More information about the pypy-commit
mailing list