diff options
author | Andrew Leech <andrew@alelec.net> | 2016-09-12 15:10:45 +1000 |
---|---|---|
committer | Andrew Leech <andrew@alelec.net> | 2016-09-12 15:10:45 +1000 |
commit | deff4b685b23087a84e77e32a985d6c69a147363 (patch) | |
tree | 536b5df704324c7ad8251b92628bd5b0c3f51b9e | |
parent | 9ba91de3ed25033a7c3593610702a31ba395336d (diff) | |
download | cffi-new_struct_allocated_size.tar.gz |
When getting repr on CDataObject_own_structptr, use length field for owned bytesnew_struct_allocated_size
-rw-r--r-- | c/_cffi_backend.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/c/_cffi_backend.c b/c/_cffi_backend.c index da403f9..9f70be7 100644 --- a/c/_cffi_backend.c +++ b/c/_cffi_backend.c @@ -1814,7 +1814,9 @@ static PyObject *_cdata_repr2(CDataObject *cd, char *text, PyObject *x) static PyObject *cdataowning_repr(CDataObject *cd) { Py_ssize_t size; - if (cd->c_type->ct_flags & CT_POINTER) + if (cd->c_type->ct_flags & CT_IS_PTR_TO_OWNED) + size = ((CDataObject_own_structptr *)cd)->length; + else if (cd->c_type->ct_flags & CT_POINTER) size = cd->c_type->ct_itemdescr->ct_size; else if (cd->c_type->ct_flags & CT_ARRAY) size = get_array_length(cd) * cd->c_type->ct_itemdescr->ct_size; |