From 06b8e466fd5db6f6df344764ac5832587d03c126 Mon Sep 17 00:00:00 2001 From: Jan Breuer <jan.breuer@jaybee.cz> Date: 周五, 07 7月 2017 21:03:33 +0800 Subject: [PATCH] Merge pull request #86 from RedPitaya/master --- libscpi/src/fifo.c | 16 ++++++++++------ 1 files changed, 10 insertions(+), 6 deletions(-) diff --git a/libscpi/src/fifo.c b/libscpi/src/fifo.c index e81f55e..a97ab7a 100644 --- a/libscpi/src/fifo.c +++ b/libscpi/src/fifo.c @@ -5,7 +5,7 @@ * Initialize fifo * @param fifo */ -void fifo_init(scpi_fifo_t * fifo, int16_t * data, int16_t size) { +void fifo_init(scpi_fifo_t * fifo, scpi_error_t * data, int16_t size) { fifo->wr = 0; fifo->rd = 0; fifo->count = 0; @@ -44,16 +44,20 @@ /** * Add element to fifo. If fifo is full, return FALSE. * @param fifo - * @param value + * @param err + * @param info * @return */ -scpi_bool_t fifo_add(scpi_fifo_t * fifo, int16_t value) { +scpi_bool_t fifo_add(scpi_fifo_t * fifo, const scpi_error_t * value) { /* FIFO full? */ if (fifo_is_full(fifo)) { return FALSE; } + if (!value) { + return FALSE; + } - fifo->data[fifo->wr] = value; + fifo->data[fifo->wr] = *value; fifo->wr = (fifo->wr + 1) % (fifo->size); fifo->count += 1; return TRUE; @@ -65,7 +69,7 @@ * @param value * @return FALSE - fifo is empty */ -scpi_bool_t fifo_remove(scpi_fifo_t * fifo, int16_t * value) { +scpi_bool_t fifo_remove(scpi_fifo_t * fifo, scpi_error_t * value) { /* FIFO empty? */ if (fifo_is_empty(fifo)) { return FALSE; @@ -87,7 +91,7 @@ * @param value * @return FALSE - fifo is empty */ -scpi_bool_t fifo_remove_last(scpi_fifo_t * fifo, int16_t * value) { +scpi_bool_t fifo_remove_last(scpi_fifo_t * fifo, scpi_error_t * value) { /* FIFO empty? */ if (fifo_is_empty(fifo)) { return FALSE; -- Gitblit v1.9.1