Skip to content

Commit 4b630c4

Browse files
author
danicampora
committed
cc3200: Make socket.listen([backlog]) compliant with Python 3.5.
1 parent 719dca2 commit 4b630c4

1 file changed

Lines changed: 11 additions & 5 deletions

File tree

cc3200/mods/modusocket.c

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -185,17 +185,23 @@ STATIC mp_obj_t socket_bind(mp_obj_t self_in, mp_obj_t addr_in) {
185185
}
186186
STATIC MP_DEFINE_CONST_FUN_OBJ_2(socket_bind_obj, socket_bind);
187187

188-
// method socket.listen(backlog)
189-
STATIC mp_obj_t socket_listen(mp_obj_t self_in, mp_obj_t backlog) {
190-
mod_network_socket_obj_t *self = self_in;
188+
// method socket.listen([backlog])
189+
STATIC mp_obj_t socket_listen(mp_uint_t n_args, const mp_obj_t *args) {
190+
mod_network_socket_obj_t *self = args[0];
191+
192+
int32_t backlog = 0;
193+
if (n_args > 1) {
194+
backlog = mp_obj_get_int(args[1]);
195+
backlog = (backlog < 0) ? 0 : backlog;
196+
}
191197

192198
int _errno;
193-
if (wlan_socket_listen(self, mp_obj_get_int(backlog), &_errno) != 0) {
199+
if (wlan_socket_listen(self, backlog, &_errno) != 0) {
194200
nlr_raise(mp_obj_new_exception_arg1(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(-_errno)));
195201
}
196202
return mp_const_none;
197203
}
198-
STATIC MP_DEFINE_CONST_FUN_OBJ_2(socket_listen_obj, socket_listen);
204+
STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(socket_listen_obj, 1, 2, socket_listen);
199205

200206
// method socket.accept()
201207
STATIC mp_obj_t socket_accept(mp_obj_t self_in) {

0 commit comments

Comments
 (0)