/*
- * Copyright (C) 2007-2008 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2007-2009 Andre Noll <maan@systemlinux.org>
*
* Licensed under the GPL v2. For licencing details see COPYING.
*/
/**
* Remove the current chunk from the queue.
*
- * \param cq The chunk to remove.
+ * \param cq The queue to remove from.
*/
void cq_dequeue(struct chunk_queue *cq)
{
struct queued_chunk *qc = cq_peek(cq);
assert(qc);
+ assert(cq->num_pending >= qc->num_bytes);
+ cq->num_pending -= qc->num_bytes;
list_del(&qc->node);
free(qc);
}
*
* \param qc The queued chunk.
* \param buf Result pointer.
- * \param len Number of bytes of \a buf.
+ * \param num_bytes Number of bytes of \a buf.
*
* \return Positive on success, negative on errors.
*/