mirror of
https://github.com/lwip-tcpip/lwip.git
synced 2024-12-25 00:14:02 +00:00
Use pbuf_clone to replace pbuf_alloc+pbuf_copy
Use pbuf_clone() to simplify the code a bit. Signed-off-by: Axel Lin <axel.lin@ingics.com>
This commit is contained in:
parent
4cfef8acab
commit
61e90d9fc0
@ -154,14 +154,7 @@ recv_raw(void *arg, struct raw_pcb *pcb, struct pbuf *p,
|
||||
}
|
||||
#endif /* LWIP_SO_RCVBUF */
|
||||
/* copy the whole packet into new pbufs */
|
||||
q = pbuf_alloc(PBUF_RAW, p->tot_len, PBUF_RAM);
|
||||
if (q != NULL) {
|
||||
if (pbuf_copy(q, p) != ERR_OK) {
|
||||
pbuf_free(q);
|
||||
q = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
q = pbuf_clone(PBUF_RAW, PBUF_RAM, p);
|
||||
if (q != NULL) {
|
||||
u16_t len;
|
||||
buf = (struct netbuf *)memp_malloc(MEMP_NETBUF);
|
||||
|
@ -1012,13 +1012,7 @@ etharp_query(struct netif *netif, const ip4_addr_t *ipaddr, struct pbuf *q)
|
||||
}
|
||||
if (copy_needed) {
|
||||
/* copy the whole packet into new pbufs */
|
||||
p = pbuf_alloc(PBUF_LINK, q->tot_len, PBUF_RAM);
|
||||
if (p != NULL) {
|
||||
if (pbuf_copy(p, q) != ERR_OK) {
|
||||
pbuf_free(p);
|
||||
p = NULL;
|
||||
}
|
||||
}
|
||||
p = pbuf_clone(PBUF_LINK, PBUF_RAM, q);
|
||||
} else {
|
||||
/* referencing the old pbuf is enough */
|
||||
p = q;
|
||||
|
@ -2046,7 +2046,7 @@ nd6_queue_packet(s8_t neighbor_index, struct pbuf *q)
|
||||
}
|
||||
if (copy_needed) {
|
||||
/* copy the whole packet into new pbufs */
|
||||
p = pbuf_alloc(PBUF_LINK, q->tot_len, PBUF_RAM);
|
||||
p = pbuf_clone(PBUF_LINK, PBUF_RAM, q);
|
||||
while ((p == NULL) && (neighbor_cache[neighbor_index].q != NULL)) {
|
||||
/* Free oldest packet (as per RFC recommendation) */
|
||||
#if LWIP_ND6_QUEUEING
|
||||
@ -2058,13 +2058,7 @@ nd6_queue_packet(s8_t neighbor_index, struct pbuf *q)
|
||||
pbuf_free(neighbor_cache[neighbor_index].q);
|
||||
neighbor_cache[neighbor_index].q = NULL;
|
||||
#endif /* LWIP_ND6_QUEUEING */
|
||||
p = pbuf_alloc(PBUF_LINK, q->tot_len, PBUF_RAM);
|
||||
}
|
||||
if (p != NULL) {
|
||||
if (pbuf_copy(p, q) != ERR_OK) {
|
||||
pbuf_free(p);
|
||||
p = NULL;
|
||||
}
|
||||
p = pbuf_clone(PBUF_LINK, PBUF_RAM, q);
|
||||
}
|
||||
} else {
|
||||
/* referencing the old pbuf is enough */
|
||||
|
Loading…
Reference in New Issue
Block a user