py/stream: ioctl(): Properly support 2-arg form.

This commit is contained in:
Paul Sokolovsky 2016-04-10 13:36:44 +03:00
parent 6c3db26ab7
commit 558fd5d228
1 changed files with 8 additions and 6 deletions

View File

@ -414,12 +414,14 @@ STATIC mp_obj_t stream_ioctl(size_t n_args, const mp_obj_t *args) {
const mp_stream_p_t *stream_p = mp_get_stream_raise(args[0], MP_STREAM_OP_IOCTL); const mp_stream_p_t *stream_p = mp_get_stream_raise(args[0], MP_STREAM_OP_IOCTL);
mp_buffer_info_t bufinfo; mp_buffer_info_t bufinfo;
uintptr_t val; uintptr_t val = 0;
if (MP_OBJ_IS_INT(args[2])) { if (n_args > 2) {
val = mp_obj_get_int(args[2]); if (MP_OBJ_IS_INT(args[2])) {
} else { val = mp_obj_get_int(args[2]);
mp_get_buffer_raise(args[2], &bufinfo, MP_BUFFER_READ); } else {
val = (uintptr_t)bufinfo.buf; mp_get_buffer_raise(args[2], &bufinfo, MP_BUFFER_WRITE);
val = (uintptr_t)bufinfo.buf;
}
} }
int error; int error;