size_t used;
used = 0;
- pos = session->sme_head;
- while ( (NULL != pos) &&
+ while ( (NULL != (pos = session->sme_head)) &&
(used + pos->size <= msize) )
{
memcpy (&pbuf[used], &pos[1], pos->size);
used += pos->size;
+ GNUNET_CONTAINER_DLL_remove (session->sme_head,
+ session->sme_tail,
+ pos);
+ GNUNET_free (pos);
}
/* compute average payload size */
total_bytes += used;
struct Session *session;
struct GSC_TypeMap *nmap;
+ if (0 == memcmp (peer, &GSC_my_identity, sizeof (struct GNUNET_PeerIdentity)))
+ return;
session = find_session (peer);
+ GNUNET_assert (NULL != session);
if (GNUNET_YES ==
GSC_TYPEMAP_test_match (session->tmap,
&type, 1))