summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Lawrence <[email protected]>2021-08-02 20:52:45 -0500
committerPeter Lawrence <[email protected]>2021-08-02 20:52:45 -0500
commitb682ce916a4284fc94cc37bb0478506cda40c375 (patch)
tree8ec97e1b9eb5431f704eba618c19ae6fdb7a96d5
parentaf8e5a90f4244bfe1174724b86bc4b73599b932c (diff)
net_lwip_webserver: utilize pbuf_copy_partial()
-rw-r--r--examples/device/net_lwip_webserver/src/main.c13
1 files changed, 2 insertions, 11 deletions
diff --git a/examples/device/net_lwip_webserver/src/main.c b/examples/device/net_lwip_webserver/src/main.c
index 27adce86f..7c0adae01 100644
--- a/examples/device/net_lwip_webserver/src/main.c
+++ b/examples/device/net_lwip_webserver/src/main.c
@@ -178,21 +178,12 @@ 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)
{
struct pbuf *p = (struct pbuf *)ref;
- struct pbuf *q;
- uint16_t len = 0;
(void)arg; /* unused for this example */
- /* traverse the "pbuf chain"; see ./lwip/src/core/pbuf.c for more info */
- 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;
- }
+ pbuf_copy_partial(p, dst, p->tot_len, 0);
- return len;
+ return p->tot_len;
}
static void service_traffic(void)