@@ -712,16 +712,20 @@ STATIC mp_obj_t lwip_socket_connect(mp_obj_t self_in, mp_obj_t addr_in) {
712
712
}
713
713
STATIC MP_DEFINE_CONST_FUN_OBJ_2 (lwip_socket_connect_obj , lwip_socket_connect );
714
714
715
- STATIC mp_obj_t lwip_socket_send (mp_obj_t self_in , mp_obj_t buf_in ) {
716
- lwip_socket_obj_t * socket = self_in ;
717
- int _errno ;
718
-
715
+ STATIC void lwip_socket_check_connected (lwip_socket_obj_t * socket ) {
719
716
if (socket -> pcb .tcp == NULL ) {
720
717
// not connected
721
- _errno = error_lookup_table [- ( socket -> state ) ];
718
+ int _errno = error_lookup_table [- socket -> state ];
722
719
socket -> state = _ERR_BADF ;
723
720
nlr_raise (mp_obj_new_exception_arg1 (& mp_type_OSError , MP_OBJ_NEW_SMALL_INT (_errno )));
724
721
}
722
+ }
723
+
724
+ STATIC mp_obj_t lwip_socket_send (mp_obj_t self_in , mp_obj_t buf_in ) {
725
+ lwip_socket_obj_t * socket = self_in ;
726
+ int _errno ;
727
+
728
+ lwip_socket_check_connected (socket );
725
729
726
730
mp_buffer_info_t bufinfo ;
727
731
mp_get_buffer_raise (buf_in , & bufinfo , MP_BUFFER_READ );
@@ -749,12 +753,7 @@ STATIC mp_obj_t lwip_socket_recv(mp_obj_t self_in, mp_obj_t len_in) {
749
753
lwip_socket_obj_t * socket = self_in ;
750
754
int _errno ;
751
755
752
- if (socket -> pcb .tcp == NULL ) {
753
- // not connected
754
- _errno = error_lookup_table [- (socket -> state )];
755
- socket -> state = _ERR_BADF ;
756
- nlr_raise (mp_obj_new_exception_arg1 (& mp_type_OSError , MP_OBJ_NEW_SMALL_INT (_errno )));
757
- }
756
+ lwip_socket_check_connected (socket );
758
757
759
758
mp_int_t len = mp_obj_get_int (len_in );
760
759
vstr_t vstr ;
@@ -787,12 +786,7 @@ STATIC mp_obj_t lwip_socket_sendto(mp_obj_t self_in, mp_obj_t data_in, mp_obj_t
787
786
lwip_socket_obj_t * socket = self_in ;
788
787
int _errno ;
789
788
790
- if (socket -> pcb .tcp == NULL ) {
791
- // not connected
792
- _errno = error_lookup_table [- (socket -> state )];
793
- socket -> state = _ERR_BADF ;
794
- nlr_raise (mp_obj_new_exception_arg1 (& mp_type_OSError , MP_OBJ_NEW_SMALL_INT (_errno )));
795
- }
789
+ lwip_socket_check_connected (socket );
796
790
797
791
mp_buffer_info_t bufinfo ;
798
792
mp_get_buffer_raise (data_in , & bufinfo , MP_BUFFER_READ );
@@ -823,12 +817,7 @@ STATIC mp_obj_t lwip_socket_recvfrom(mp_obj_t self_in, mp_obj_t len_in) {
823
817
lwip_socket_obj_t * socket = self_in ;
824
818
int _errno ;
825
819
826
- if (socket -> pcb .tcp == NULL ) {
827
- // not connected
828
- _errno = error_lookup_table [- (socket -> state )];
829
- socket -> state = _ERR_BADF ;
830
- nlr_raise (mp_obj_new_exception_arg1 (& mp_type_OSError , MP_OBJ_NEW_SMALL_INT (_errno )));
831
- }
820
+ lwip_socket_check_connected (socket );
832
821
833
822
mp_int_t len = mp_obj_get_int (len_in );
834
823
vstr_t vstr ;
0 commit comments