offset -= p->len;
} else {
for(i = offset; i < p->len; ++i) {
- ((char *)dataptr)[left] = ((char *)p->payload)[i];
+ ((u8_t *)dataptr)[left] = ((u8_t *)p->payload)[i];
if (++left >= len) {
return;
}
if (conn->recvmbox != SYS_MBOX_NULL) {
while (sys_arch_mbox_fetch(conn->recvmbox, &mem, 1) != SYS_ARCH_TIMEOUT) {
if (conn->type == NETCONN_TCP) {
- pbuf_free((struct pbuf *)mem);
+ if(mem != NULL)
+ pbuf_free((struct pbuf *)mem);
} else {
- netbuf_delete((struct netbuf *)mem);
+ netbuf_delete((struct netbuf *)mem);
}
}
sys_mbox_free(conn->recvmbox);
case NETCONN_UDPLITE:
case NETCONN_UDPNOCHKSUM:
case NETCONN_UDP:
+#if LWIP_UDP
if (conn->pcb.udp == NULL ||
((conn->pcb.udp->flags & UDP_FLAGS_CONNECTED) == 0))
return ERR_CONN;
*addr = (conn->pcb.udp->remote_ip);
*port = conn->pcb.udp->remote_port;
+#endif
break;
+
case NETCONN_TCP:
+#if LWIP_TCP
if (conn->pcb.tcp == NULL)
return ERR_CONN;
*addr = (conn->pcb.tcp->remote_ip);
*port = conn->pcb.tcp->remote_port;
+#endif
break;
}
return (conn->err = ERR_OK);
{
switch (conn->type) {
case NETCONN_RAW:
+#if LWIP_RAW
*addr = &(conn->pcb.raw->local_ip);
*port = conn->pcb.raw->protocol;
+#endif
break;
case NETCONN_UDPLITE:
case NETCONN_UDPNOCHKSUM:
case NETCONN_UDP:
+#if LWIP_UDP
*addr = &(conn->pcb.udp->local_ip);
*port = conn->pcb.udp->local_port;
+#endif
break;
+
case NETCONN_TCP:
+#if LWIP_TCP
*addr = &(conn->pcb.tcp->local_ip);
*port = conn->pcb.tcp->local_port;
+#endif
break;
}
return (conn->err = ERR_OK);
api_msg_post(msg);
sys_mbox_fetch(conn->mbox, NULL);
if (conn->err == ERR_OK) {
- dataptr = (void *)((char *)dataptr + len);
+ dataptr = (void *)((u8_t *)dataptr + len);
size -= len;
} else if (conn->err == ERR_MEM) {
conn->err = ERR_OK;