415 |
if (q != p) { |
if (q != p) { |
416 |
/* chained header still in front of given pbuf? */ |
/* chained header still in front of given pbuf? */ |
417 |
if (q->next == p) { |
if (q->next == p) { |
418 |
DEBUGF(UDP_DEBUG, ("udp_send: dechaining and freeing header pbuf\n")); |
DEBUGF(UDP_DEBUG | DBG_TRACE | 2, ("udp_send: dechaining and freeing header pbuf %p\n", (void *)q)); |
419 |
/* detach the header prepended earlier */ |
/* detach the header prepended earlier */ |
420 |
pbuf_dechain(q); |
pbuf_dechain(q); |
421 |
/* free the header */ |
/* free the header */ |
422 |
pbuf_free(q); |
pbuf_free(q); |
423 |
} else { |
} else { |
424 |
DEBUGF(UDP_DEBUG, ("udp_send: pbuf header not freed, seems to be queued.\n")); |
/* the header now points to something else then the given pbuf */ |
425 |
} |
/* this can only happen if queueing is enabled */ |
426 |
|
LWIP_ASSERT("ARP_QUEUEING == 1\n", ARP_QUEUEING == 1); |
427 |
|
DEBUGF(UDP_DEBUG | DBG_TRACE | 2, ("udp_send: pbuf header %p not freed, seems queued.\n", (void *)q)); |
428 |
|
} |
429 |
} |
} |
430 |
|
|
431 |
#ifdef UDP_STATS |
#ifdef UDP_STATS |