mirror of
https://github.com/hathach/tinyusb.git
synced 2025-02-18 21:41:12 +00:00
Merge pull request #992 from majbthrd/net_example_pbuf
net_lwip_webserver: utilize pbuf_copy_partial()
This commit is contained in:
commit
7cbb11a86c
@ -178,21 +178,10 @@ bool tud_network_recv_cb(const uint8_t *src, uint16_t size)
|
|||||||
uint16_t tud_network_xmit_cb(uint8_t *dst, void *ref, uint16_t arg)
|
uint16_t tud_network_xmit_cb(uint8_t *dst, void *ref, uint16_t arg)
|
||||||
{
|
{
|
||||||
struct pbuf *p = (struct pbuf *)ref;
|
struct pbuf *p = (struct pbuf *)ref;
|
||||||
struct pbuf *q;
|
|
||||||
uint16_t len = 0;
|
|
||||||
|
|
||||||
(void)arg; /* unused for this example */
|
(void)arg; /* unused for this example */
|
||||||
|
|
||||||
/* traverse the "pbuf chain"; see ./lwip/src/core/pbuf.c for more info */
|
return pbuf_copy_partial(p, dst, p->tot_len, 0);
|
||||||
for(q = p; q != NULL; q = q->next)
|
|
||||||
{
|
|
||||||
memcpy(dst, (char *)q->payload, q->len);
|
|
||||||
dst += q->len;
|
|
||||||
len += q->len;
|
|
||||||
if (q->len == q->tot_len) break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return len;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void service_traffic(void)
|
static void service_traffic(void)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user