ThingPlug Test
Dependents: WizFi310_ThingPlug_Test WizFi310_ThingPlug_Test_P
Fork of WizFi310Interface by
Diff: WizFi310Interface.cpp
- Revision:
- 5:72212beb817c
- Parent:
- 4:176b6f3addd6
--- a/WizFi310Interface.cpp Mon Apr 17 06:44:26 2017 +0000 +++ b/WizFi310Interface.cpp Mon Jun 26 00:17:10 2017 +0000 @@ -125,6 +125,7 @@ struct wizfi310_socket *socket = new struct wizfi310_socket; if (!socket) { + delete socket; return NSAPI_ERROR_NO_SOCKET; } @@ -186,6 +187,7 @@ struct wizfi310_socket *socket = (struct wizfi310_socket *)handle; WizFi310::Protocol proto = (socket->proto == NSAPI_UDP) ? WizFi310::PROTO_UDP : WizFi310::PROTO_TCP; + if((cid = _wizfi310.open(proto, addr.get_ip_address(), addr.get_port())) == -1 ) { return NSAPI_ERROR_DEVICE_ERROR; @@ -205,16 +207,15 @@ int WizFi310Interface::socket_accept(void **handle, void *server) { - struct wizfi310_socket *socket = (struct wizfi310_socket *)server; struct wizfi310_socket *new_socket = new struct wizfi310_socket; - + if( !new_socket ) { return NSAPI_ERROR_NO_SOCKET; } memset(new_socket, 0, sizeof(new_socket)); - + for(int cid=0; cid<WIZFI310_SOCKET_COUNT; cid++) { if( _wizfi310.accept(cid) != -1 ) @@ -224,10 +225,12 @@ new_socket->connected = true; *handle = new_socket; + + return 0; } } - + delete new_socket; return NSAPI_ERROR_WOULD_BLOCK; }