Skip to content

Commit

Permalink
queue: make data pointers const in queue_try_add and queue_add_blocki…
Browse files Browse the repository at this point in the history
…ng (#423)

The only operation done on the data pointer is to pass it into the second
argument of memcpy, which is `const void *`
  • Loading branch information
jonathangjertsen authored May 24, 2021
1 parent cc8b215 commit b8dc054
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 5 deletions.
4 changes: 2 additions & 2 deletions src/common/pico_util/include/pico/util/queue.h
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ static inline bool queue_is_full(queue_t *q) {
* If the queue is full this function will return immediately with false, otherwise
* the data is copied into a new value added to the queue, and this function will return true.
*/
bool queue_try_add(queue_t *q, void *data);
bool queue_try_add(queue_t *q, const void *data);

/*! \brief Non-blocking removal of entry from the queue if non empty
* \ingroup queue
Expand Down Expand Up @@ -199,7 +199,7 @@ bool queue_try_peek(queue_t *q, void *data);
*
* If the queue is full this function will block, until a removal happens on the queue
*/
void queue_add_blocking(queue_t *q, void *data);
void queue_add_blocking(queue_t *q, const void *data);

/*! \brief Blocking remove entry from queue
* \ingroup queue
Expand Down
6 changes: 3 additions & 3 deletions src/common/pico_util/queue.c
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ static inline uint16_t inc_index(queue_t *q, uint16_t index) {
return index;
}

static bool queue_add_internal(queue_t *q, void *data, bool block) {
static bool queue_add_internal(queue_t *q, const void *data, bool block) {
do {
uint32_t save = spin_lock_blocking(q->core.spin_lock);
if (queue_get_level_unsafe(q) != q->element_count) {
Expand Down Expand Up @@ -94,7 +94,7 @@ static bool queue_peek_internal(queue_t *q, void *data, bool block) {
} while (true);
}

bool queue_try_add(queue_t *q, void *data) {
bool queue_try_add(queue_t *q, const void *data) {
return queue_add_internal(q, data, false);
}

Expand All @@ -106,7 +106,7 @@ bool queue_try_peek(queue_t *q, void *data) {
return queue_peek_internal(q, data, false);
}

void queue_add_blocking(queue_t *q, void *data) {
void queue_add_blocking(queue_t *q, const void *data) {
queue_add_internal(q, data, true);
}

Expand Down

0 comments on commit b8dc054

Please sign in to comment.