diff options
| author | Damien George | 2014-04-18 22:29:21 +0100 |
|---|---|---|
| committer | Damien George | 2014-04-18 22:29:21 +0100 |
| commit | 57a4b4f178698435b584892f69db5d5f2ea396dc (patch) | |
| tree | b38aac7f18d31f714c2029a0a6e3f93e36447295 /py/obj.c | |
| parent | 3fd2d7fad2022e3f26304fbc6ad74e6d8dd66e5f (diff) | |
py: Add typecode to buffer protocol.
When querying an object that supports the buffer protocol, that object
must now return a typecode (as per binary.[ch]). This does not have to
be honoured by the caller, but can be useful for determining element
size.
Diffstat (limited to 'py/obj.c')
| -rw-r--r-- | py/obj.c | 10 |
1 files changed, 5 insertions, 5 deletions
@@ -357,20 +357,20 @@ mp_obj_t mp_identity(mp_obj_t self) { } MP_DEFINE_CONST_FUN_OBJ_1(mp_identity_obj, mp_identity); -bool mp_get_buffer(mp_obj_t obj, buffer_info_t *bufinfo) { +bool mp_get_buffer(mp_obj_t obj, mp_buffer_info_t *bufinfo) { mp_obj_type_t *type = mp_obj_get_type(obj); if (type->buffer_p.get_buffer == NULL) { return false; } - type->buffer_p.get_buffer(obj, bufinfo, BUFFER_READ); - if (bufinfo->buf == NULL) { + int ret = type->buffer_p.get_buffer(obj, bufinfo, MP_BUFFER_READ); + if (ret != 0 || bufinfo->buf == NULL) { return false; } return true; } -void mp_get_buffer_raise(mp_obj_t obj, buffer_info_t *bufinfo) { +void mp_get_buffer_raise(mp_obj_t obj, mp_buffer_info_t *bufinfo) { if (!mp_get_buffer(obj, bufinfo)) { - nlr_raise(mp_obj_new_exception_msg(&mp_type_TypeError, "Object with buffer protocol required")); + nlr_raise(mp_obj_new_exception_msg(&mp_type_TypeError, "object with buffer protocol required")); } } |
