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;
}
