]> git.proxmox.com Git - mirror_qemu.git/blobdiff - util/fifo8.c
util/fifo8: Allow fifo8_pop_buf() to not populate popped length
[mirror_qemu.git] / util / fifo8.c
index de8fd0f1c5c5ec0bd7c3d8e220e64eaa1530c742..2eeed56e809a6e3b96a01785e0183d0c718f9bc9 100644 (file)
@@ -66,16 +66,20 @@ uint8_t fifo8_pop(Fifo8 *fifo)
     return ret;
 }
 
-const uint8_t *fifo8_pop_buf(Fifo8 *fifo, uint32_t max, uint32_t *num)
+const uint8_t *fifo8_pop_buf(Fifo8 *fifo, uint32_t max, uint32_t *numptr)
 {
     uint8_t *ret;
+    uint32_t num;
 
     assert(max > 0 && max <= fifo->num);
-    *num = MIN(fifo->capacity - fifo->head, max);
+    num = MIN(fifo->capacity - fifo->head, max);
     ret = &fifo->data[fifo->head];
-    fifo->head += *num;
+    fifo->head += num;
     fifo->head %= fifo->capacity;
-    fifo->num -= *num;
+    fifo->num -= num;
+    if (numptr) {
+        *numptr = num;
+    }
     return ret;
 }