mirror of
https://github.com/lwip-tcpip/lwip.git
synced 2024-11-16 23:15:37 +00:00
fixed bug #34540: compiler error when CORE_LOCKING is used and not all protocols are enabled
This commit is contained in:
parent
dbbd161219
commit
aafa00f3aa
@ -49,6 +49,10 @@ HISTORY
|
||||
|
||||
++ Bugfixes:
|
||||
|
||||
2011-10-13: Simon Goldschmidt
|
||||
* sockets.c, api_lib.c: fixed bug #34540: compiler error when CORE_LOCKING is
|
||||
used and not all protocols are enabled
|
||||
|
||||
2011-10-12: Simon Goldschmidt
|
||||
* pbuf.c: fixed bug #34534: Error in sending fragmented IP if MEM_ALIGNMENT > 4
|
||||
|
||||
|
@ -372,7 +372,10 @@ netconn_recv_data(struct netconn *conn, void **new_buf)
|
||||
#endif /* LWIP_SO_RCVTIMEO*/
|
||||
|
||||
#if LWIP_TCP
|
||||
if (conn->type == NETCONN_TCP) {
|
||||
#if (LWIP_UDP || LWIP_RAW)
|
||||
if (conn->type == NETCONN_TCP)
|
||||
#endif /* (LWIP_UDP || LWIP_RAW) */
|
||||
{
|
||||
if (!netconn_get_noautorecved(conn) || (buf == NULL)) {
|
||||
/* Let the stack know that we have taken the data. */
|
||||
/* TODO: Speedup: Don't block and wait for the answer here
|
||||
@ -461,7 +464,10 @@ netconn_recv(struct netconn *conn, struct netbuf **new_buf)
|
||||
LWIP_ERROR("netconn_accept: invalid recvmbox", sys_mbox_valid(&conn->recvmbox), return ERR_CONN;);
|
||||
|
||||
#if LWIP_TCP
|
||||
if (conn->type == NETCONN_TCP) {
|
||||
#if (LWIP_UDP || LWIP_RAW)
|
||||
if (conn->type == NETCONN_TCP)
|
||||
#endif /* (LWIP_UDP || LWIP_RAW) */
|
||||
{
|
||||
struct pbuf *p = NULL;
|
||||
/* This is not a listening netconn, since recvmbox is set */
|
||||
|
||||
@ -485,8 +491,11 @@ netconn_recv(struct netconn *conn, struct netbuf **new_buf)
|
||||
*new_buf = buf;
|
||||
/* don't set conn->last_err: it's only ERR_OK, anyway */
|
||||
return ERR_OK;
|
||||
} else
|
||||
}
|
||||
#endif /* LWIP_TCP */
|
||||
#if LWIP_TCP && (LWIP_UDP || LWIP_RAW)
|
||||
else
|
||||
#endif /* LWIP_TCP && (LWIP_UDP || LWIP_RAW) */
|
||||
{
|
||||
#if (LWIP_UDP || LWIP_RAW)
|
||||
return netconn_recv_data(conn, (void **)new_buf);
|
||||
|
@ -849,18 +849,29 @@ lwip_sendto(int s, const void *data, size_t size, int flags,
|
||||
inet_addr_to_ipaddr_p(remote_addr, &to_in->sin_addr);
|
||||
remote_port = ntohs(to_in->sin_port);
|
||||
} else {
|
||||
remote_addr = &sock->conn->pcb.raw->remote_ip;
|
||||
if (sock->conn->type == NETCONN_RAW) {
|
||||
remote_port = 0;
|
||||
} else {
|
||||
remote_addr = &sock->conn->pcb.ip->remote_ip;
|
||||
#if LWIP_UDP
|
||||
if (NETCONNTYPE_GROUP(sock->conn->type) == NETCONN_UDP) {
|
||||
remote_port = sock->conn->pcb.udp->remote_port;
|
||||
} else
|
||||
#endif /* LWIP_UDP */
|
||||
{
|
||||
remote_port = 0;
|
||||
}
|
||||
}
|
||||
|
||||
LOCK_TCPIP_CORE();
|
||||
if (sock->conn->type == NETCONN_RAW) {
|
||||
if (netconn_type(sock->conn) == NETCONN_RAW) {
|
||||
#if LWIP_RAW
|
||||
err = sock->conn->last_err = raw_sendto(sock->conn->pcb.raw, p, remote_addr);
|
||||
} else {
|
||||
#else /* LWIP_RAW */
|
||||
err = ERR_ARG;
|
||||
#endif /* LWIP_RAW */
|
||||
}
|
||||
#if LWIP_UDP && LWIP_RAW
|
||||
else
|
||||
#endif /* LWIP_UDP && LWIP_RAW */
|
||||
{
|
||||
#if LWIP_UDP
|
||||
#if LWIP_CHECKSUM_ON_COPY && LWIP_NETIF_TX_SINGLE_PBUF
|
||||
err = sock->conn->last_err = udp_sendto_chksum(sock->conn->pcb.udp, p,
|
||||
|
Loading…
Reference in New Issue
Block a user