8000 extmod/modlwip: Use mp_raise_OSError helper function. · ladyada/circuitpython@06d0083 · GitHub
[go: up one dir, main page]

Skip to content

Commit 06d0083

Browse files
committed
extmod/modlwip: Use mp_raise_OSError helper function.
Reduces esp8266 code size by about 230 bytes.
1 parent 620c4c3 commit 06d0083

File tree

1 file changed

+24
-24
lines changed

1 file changed

+24
-24
lines changed

extmod/modlwip.c

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -598,11 +598,11 @@ STATIC mp_obj_t lwip_socket_make_new(const mp_obj_type_t *type, mp_uint_t n_args
598598
case MOD_NETWORK_SOCK_STREAM: socket->pcb.tcp = tcp_new(); break;
599599
case MOD_NETWORK_SOCK_DGRAM: socket->pcb.udp = udp_new(); break;
600600
//case MOD_NETWORK_SOCK_RAW: socket->pcb.raw = raw_new(); break;
601-
default: nlr_raise(mp_obj_new_exception_arg1(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(MP_EINVAL)));
601+
default: mp_raise_OSError(MP_EINVAL);
602602
}
603603

604604
if (socket->pcb.tcp == NULL) {
605-
nlr_raise(mp_obj_new_exception_arg1(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(MP_ENOMEM)));
605+
mp_raise_OSError(MP_ENOMEM);
606606
}
607607

608608
switch (socket->type) {
@@ -686,7 +686,7 @@ STATIC mp_obj_t lwip_socket_bind(mp_obj_t self_in, mp_obj_t addr_in) {
686686
}
687687

688688
if (err != ERR_OK) {
689-
nlr_raise(mp_obj_new_exception_arg1(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(error_lookup_table[-err])));
689+
mp_raise_OSError(error_lookup_table[-err]);
690690
}
691691

692692
return mp_const_none;
@@ -698,15 +698,15 @@ STATIC mp_obj_t lwip_socket_listen(mp_obj_t self_in, mp_obj_t backlog_in) {
698698
mp_int_t backlog = mp_obj_get_int(backlog_in);
699699

700700
if (socket->pcb.tcp == NULL) {
701-
nlr_raise(mp_obj_new_exception_arg1(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(MP_EBADF)));
701+
mp_raise_OSError(MP_EBADF);
702702
}
703703
if (socket->type != MOD_NETWORK_SOCK_STREAM) {
704-
nlr_raise(mp_obj_new_exception_arg1(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(MP_EOPNOTSUPP)));
704+
mp_raise_OSError(MP_EOPNOTSUPP);
705705
}
706706

707707
struct tcp_pcb *new_pcb = tcp_listen_with_backlog(socket->pcb.tcp, (u8_t)backlog);
708708
if (new_pcb == NULL) {
709-
nlr_raise(mp_obj_new_exception_arg1(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(MP_ENOMEM)));
709+
mp_raise_OSError(MP_ENOMEM);
710710
}
711711
socket->pcb.tcp = new_pcb;
712712
tcp_accept(new_pcb, _lwip_tcp_accept);
@@ -719,15 +719,15 @@ STATIC mp_obj_t lwip_socket_accept(mp_obj_t self_in) {
719719
lwip_socket_obj_t *socket = self_in;
720720

721721
if (socket->pcb.tcp == NULL) {
722-
nlr_raise(mp_obj_new_exception_arg1(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(MP_EBADF)));
722+
mp_raise_OSError(MP_EBADF);
723723
}
724724
if (socket->type != MOD_NETWORK_SOCK_STREAM) {
725-
nlr_raise(mp_obj_new_exception_arg1(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(MP_EOPNOTSUPP)));
725+
mp_raise_OSError(MP_EOPNOTSUPP);
726726
}
727727
// I need to do this because "tcp_accepted", later, is a macro.
728728
struct tcp_pcb *listener = socket->pcb.tcp;
729729
if (listener->state != LISTEN) {
730-
nlr_raise(mp_obj_new_exception_arg1(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(MP_EINVAL)));
730+
mp_raise_OSError(MP_EINVAL);
731731
}
732732

733733
// accept incoming connection
@@ -738,7 +738,7 @@ STATIC mp_obj_t lwip_socket_accept(mp_obj_t self_in) {
738738
if (socket->incoming.connection != NULL) break;
739739
}
740740
if (socket->incoming.connection == NULL) {
741-
nlr_raise(mp_obj_new_exception_arg1(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(MP_ETIMEDOUT)));
741+
mp_raise_OSError(MP_ETIMEDOUT);
742742
}
743743
} else {
744744
while (socket->incoming.connection == NULL) {
@@ -785,7 +785,7 @@ STATIC mp_obj_t lwip_socket_connect(mp_obj_t self_in, mp_obj_t addr_in) {
785785
lwip_socket_obj_t *socket = self_in;
786786

787787
if (socket->pcb.tcp == NULL) {
788-
nlr_raise(mp_obj_new_exception_arg1(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(MP_EBADF)));
788+
mp_raise_OSError(MP_EBADF);
789789
}
790790

791791
// get address
@@ -800,9 +800,9 @@ STATIC mp_obj_t lwip_socket_connect(mp_obj_t self_in, mp_obj_t addr_in) {
800800
case MOD_NETWORK_SOCK_STREAM: {
801801
if (socket->state != STATE_NEW) {
802802
if (socket->state == STATE_CONNECTED) {
803-
nlr_raise(mp_obj_new_exception_arg1(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(MP_EALREADY)));
803+
mp_raise_OSError(MP_EALREADY);
804804
} else {
805-
nlr_raise(mp_obj_new_exception_arg1(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(MP_EINPROGRESS)));
805+
mp_raise_OSError(MP_EINPROGRESS);
806806
}
807807
}
808808
// Register our recieve callback.
@@ -811,7 +811,7 @@ STATIC mp_obj_t lwip_socket_connect(mp_obj_t self_in, mp_obj_t addr_in) {
811811
err = tcp_connect(socket->pcb.tcp, &dest, port, _lwip_tcp_connected);
812812
if (err != ERR_OK) {
813813
socket->state = STATE_NEW;
814-
nlr_raise(mp_obj_new_exception_arg1(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(error_lookup_table[-err])));
814+
mp_raise_OSError(error_lookup_table[-err]);
815815
}
816816
socket->peer_port = (mp_uint_t)port;
817817
memcpy(socket->peer, &dest, sizeof(socket->peer));
@@ -822,7 +822,7 @@ STATIC mp_obj_t lwip_socket_connect(mp_obj_t self_in, mp_obj_t addr_in) {
822822
if (socket->state != STATE_CONNECTING) break;
823823
}
824824
if (socket->state == STATE_CONNECTING) {
825-
nlr_raise(mp_obj_new_exception_arg1(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(MP_ETIMEDOUT)));
825+
mp_raise_OSError(MP_ETIMEDOUT);
826826
}
827827
} else {
828828
while (socket->state == STATE_CONNECTING) {
@@ -843,7 +843,7 @@ STATIC mp_obj_t lwip_socket_connect(mp_obj_t self_in, mp_obj_t addr_in) {
843843
}
844844

845845
if (err != ERR_OK) {
846-
nlr_raise(mp_obj_new_exception_arg1(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(error_lookup_table[-err])));
846+
mp_raise_OSError(error_lookup_table[-err]);
847847
}
848848

849849
return mp_const_none;
@@ -855,7 +855,7 @@ STATIC void lwip_socket_check_connected(lwip_socket_obj_t *socket) {
855855
// not connected
856856
int _errno = error_lookup_table[-socket->state];
857857
socket->state = _ERR_BADF;
858-
nlr_raise(mp_obj_new_exception_arg1(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(_errno)));
858+
mp_raise_OSError(_errno);
859859
}
860860
}
861861

@@ -880,7 +880,7 @@ STATIC mp_obj_t lwip_socket_send(mp_obj_t self_in, mp_obj_t buf_in) {
880880
}
881881
}
882882
if (ret == -1) {
883-
nlr_raise(mp_obj_new_exception_arg1(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(_errno)));
883+
mp_raise_OSError(_errno);
884884
}
885885

886886
return mp_obj_new_int_from_uint(ret);
@@ -909,7 +909,7 @@ STATIC mp_obj_t lwip_socket_recv(mp_obj_t self_in, mp_obj_t len_in) {
909909
}
910910
}
911911
if (ret == -1) {
912-
nlr_raise(mp_obj_new_exception_arg1(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(_errno)));
912+
mp_raise_OSError(_errno);
913913
}
914914

915915
if (ret == 0) {
@@ -944,7 +944,7 @@ STATIC mp_obj_t lwip_socket_sendto(mp_obj_t self_in, mp_obj_t data_in, mp_obj_t
944944
}
945945
}
946946
if (ret == -1) {
947-
nlr_raise(mp_obj_new_exception_arg1(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(_errno)));
947+
mp_raise_OSError(_errno);
948948
}
949949

950950
return mp_obj_new_int_from_uint(ret);
@@ -977,7 +977,7 @@ STATIC mp_obj_t lwip_socket_recvfrom(mp_obj_t self_in, mp_obj_t len_in) {
977977
}
978978
}
979979
if (ret == -1) {
980-
nlr_raise(mp_obj_new_exception_arg1(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(_errno)));
980+
mp_raise_OSError(_errno);
981981
}
982982

983983
mp_obj_t tuple[2];
@@ -1010,15 +1010,15 @@ STATIC mp_obj_t lwip_socket_sendall(mp_obj_t self_in, mp_obj_t buf_in) {
10101010
// most useful behavior is: check whether we will be able to send all of input
10111011
// data without EAGAIN, and if won't be, raise it without sending any.
10121012
if (bufinfo.len > tcp_sndbuf(socket->pcb.tcp)) {
1013-
nlr_raise(mp_obj_new_exception_arg1(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(MP_EAGAIN)));
1013+
mp_raise_OSError(MP_EAGAIN);
10141014
}
10151015
}
10161016
// TODO: In CPython3.5, socket timeout should apply to the
10171017
// entire sendall() operation, not to individual send() chunks.
10181018
while (bufinfo.len != 0) {
10191019
ret = 93F9 lwip_tcp_send(socket, bufinfo.buf, bufinfo.len, &_errno);
10201020
if (ret == -1) {
1021-
nlr_raise(mp_obj_new_exception_arg1(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(_errno)));
1021+
mp_raise_OSError(_errno);
10221022
}
10231023
bufinfo.len -= ret;
10241024
bufinfo.buf = (char*)bufinfo.buf + ret;
@@ -1259,7 +1259,7 @@ STATIC mp_obj_t lwip_getaddrinfo(mp_obj_t host_in, mp_obj_t port_in) {
12591259
if (state.status < 0) {
12601260
// TODO: CPython raises gaierror, we raise with native lwIP negative error
12611261
// values, to differentiate from normal errno's at least in such way.
1262-
nlr_raise(mp_obj_new_exception_arg1(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(state.status)));
1262+
mp_raise_OSError(state.status);
12631263
}
12641264

12651265
mp_obj_tuple_t *tuple = mp_obj_new_tuple(5, NULL);

0 commit comments

Comments
 (0)
0