@@ -172,21 +172,18 @@ fn socket_connect(vm: &mut VirtualMachine, args: PyFuncArgs) -> PyResult {
172
172
let mut socket = get_socket ( zelf) ;
173
173
174
174
match socket. socket_kind {
175
- SocketKind :: Stream => {
176
- if let Ok ( stream) = TcpStream :: connect ( address_string ) {
175
+ SocketKind :: Stream => match TcpStream :: connect ( address_string ) {
176
+ Ok ( stream) => {
177
177
socket. con = Some ( Connection :: TcpStream ( stream) ) ;
178
178
Ok ( vm. get_none ( ) )
179
- } else {
180
- // TODO: Socket error
181
- Err ( vm. new_type_error ( "socket failed" . to_string ( ) ) )
182
179
}
183
- }
180
+ Err ( s) => Err ( vm. new_os_error ( s. to_string ( ) ) ) ,
181
+ } ,
184
182
SocketKind :: Dgram => {
185
183
if let Some ( Connection :: UdpSocket ( con) ) = & socket. con {
186
184
match con. connect ( address_string) {
187
185
Ok ( _) => Ok ( vm. get_none ( ) ) ,
188
- // TODO: Socket error
189
- Err ( _) => Err ( vm. new_type_error ( "socket failed" . to_string ( ) ) ) ,
186
+ Err ( s) => Err ( vm. new_os_error ( s. to_string ( ) ) ) ,
190
187
}
191
188
} else {
192
189
Err ( vm. new_type_error ( "" . to_string ( ) ) )
@@ -207,24 +204,20 @@ fn socket_bind(vm: &mut VirtualMachine, args: PyFuncArgs) -> PyResult {
207
204
let mut socket = get_socket ( zelf) ;
208
205
209
206
match socket. socket_kind {
210
- SocketKind :: Stream => {
211
- if let Ok ( stream) = TcpListener :: bind ( address_string ) {
207
+ SocketKind :: Stream => match TcpListener :: bind ( address_string ) {
208
+ Ok ( stream) => {
212
209
socket. con = Some ( Connection :: TcpListener ( stream) ) ;
213
210
Ok ( vm. get_none ( ) )
214
- } else {
215
- // TODO: Socket error
216
- Err ( vm. new_type_error ( "socket failed" . to_string ( ) ) )
217
211
}
218
- }
219
- SocketKind :: Dgram => {
220
- if let Ok ( dgram) = UdpSocket :: bind ( address_string) {
212
+ Err ( s) => Err ( vm. new_os_error ( s. to_string ( ) ) ) ,
213
+ } ,
214
+ SocketKind :: Dgram => match UdpSocket :: bind ( address_string) {
215
+ Ok ( dgram) => {
221
216
socket. con = Some ( Connection :: UdpSocket ( dgram) ) ;
222
217
Ok ( vm. get_none ( ) )
223
- } else {
224
- // TODO: Socket error
225
- Err ( vm. new_type_error ( "socket failed" . to_string ( ) ) )
226
218
}
227
- }
219
+ Err ( s) => Err ( vm. new_os_error ( s. to_string ( ) ) ) ,
220
+ } ,
228
221
}
229
222
}
230
223
0 commit comments