From 3e909bafa8d490ba1a2487a5f21551da21f6a533 Mon Sep 17 00:00:00 2001 From: Axel Lin Date: Sat, 29 Apr 2017 15:25:16 +0800 Subject: [PATCH] PPP: use pbuf_coalesce() instead of private ppp_singlebuf() pbuf_coalesce() creates a single pbuf out of a chain of pbufs, which is exactly what ppp_singlebuf() need. Signed-off-by: Axel Lin Signed-off-by: Sylvain Rochet --- src/netif/ppp/ppp.c | 23 +---------------------- 1 file changed, 1 insertion(+), 22 deletions(-) diff --git a/src/netif/ppp/ppp.c b/src/netif/ppp/ppp.c index 6813899e..20e42669 100644 --- a/src/netif/ppp/ppp.c +++ b/src/netif/ppp/ppp.c @@ -973,28 +973,7 @@ out: /* merge a pbuf chain into one pbuf */ struct pbuf *ppp_singlebuf(struct pbuf *p) { - struct pbuf *q, *b; - u8_t *pl; - - if(p->tot_len == p->len) { - return p; - } - - q = pbuf_alloc(PBUF_RAW, p->tot_len, PBUF_RAM); - if(!q) { - PPPDEBUG(LOG_ERR, - ("ppp_singlebuf: unable to alloc new buf (%d)\n", p->tot_len)); - return p; /* live dangerously */ - } - - for(b = p, pl = (u8_t*)q->payload; b != NULL; b = b->next) { - MEMCPY(pl, b->payload, b->len); - pl += b->len; - } - - pbuf_free(p); - - return q; + return pbuf_coalesce(p, PBUF_RAW); } /*