forked from bartvdbraak/blender
BLI_gsqueue: use size_t for elem_size (was casting all over)
This commit is contained in:
parent
ea2043eb3a
commit
d6287b213b
@ -36,7 +36,7 @@
|
||||
|
||||
typedef struct _GSQueue GSQueue;
|
||||
|
||||
GSQueue *BLI_gsqueue_new(int elem_size);
|
||||
GSQueue *BLI_gsqueue_new(size_t elem_size);
|
||||
bool BLI_gsqueue_is_empty(GSQueue *gq);
|
||||
int BLI_gsqueue_size(GSQueue *gq);
|
||||
void BLI_gsqueue_peek(GSQueue *gq, void *item_r);
|
||||
|
@ -45,7 +45,7 @@ struct _GSQueueElem {
|
||||
struct _GSQueue {
|
||||
GSQueueElem *head;
|
||||
GSQueueElem *tail;
|
||||
int elem_size;
|
||||
size_t elem_size;
|
||||
};
|
||||
|
||||
/**
|
||||
@ -54,7 +54,7 @@ struct _GSQueue {
|
||||
* \param elem_size The size of the structures in the queue.
|
||||
* \retval The new queue
|
||||
*/
|
||||
GSQueue *BLI_gsqueue_new(int elem_size)
|
||||
GSQueue *BLI_gsqueue_new(size_t elem_size)
|
||||
{
|
||||
GSQueue *gq = MEM_mallocN(sizeof(*gq), "gqueue_new");
|
||||
gq->head = gq->tail = NULL;
|
||||
@ -94,7 +94,7 @@ int BLI_gsqueue_size(GSQueue *gq)
|
||||
*/
|
||||
void BLI_gsqueue_peek(GSQueue *gq, void *item_r)
|
||||
{
|
||||
memcpy(item_r, &gq->head[1], (size_t)gq->elem_size);
|
||||
memcpy(item_r, &gq->head[1], gq->elem_size);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -115,7 +115,7 @@ void BLI_gsqueue_pop(GSQueue *gq, void *item_r)
|
||||
gq->head = gq->head->next;
|
||||
}
|
||||
|
||||
if (item_r) memcpy(item_r, &elem[1], (size_t)gq->elem_size);
|
||||
if (item_r) memcpy(item_r, &elem[1], gq->elem_size);
|
||||
MEM_freeN(elem);
|
||||
}
|
||||
|
||||
@ -131,11 +131,11 @@ void BLI_gsqueue_push(GSQueue *gq, void *item)
|
||||
|
||||
/* compare: prevent events added double in row */
|
||||
if (!BLI_gsqueue_is_empty(gq)) {
|
||||
if (0 == memcmp(item, &gq->head[1], (size_t)gq->elem_size))
|
||||
if (0 == memcmp(item, &gq->head[1], gq->elem_size))
|
||||
return;
|
||||
}
|
||||
elem = MEM_mallocN(sizeof(*elem) + (size_t)gq->elem_size, "gqueue_push");
|
||||
memcpy(&elem[1], item, (size_t)gq->elem_size);
|
||||
elem = MEM_mallocN(sizeof(*elem) + gq->elem_size, "gqueue_push");
|
||||
memcpy(&elem[1], item, gq->elem_size);
|
||||
elem->next = NULL;
|
||||
|
||||
if (BLI_gsqueue_is_empty(gq)) {
|
||||
@ -155,8 +155,8 @@ void BLI_gsqueue_push(GSQueue *gq, void *item)
|
||||
*/
|
||||
void BLI_gsqueue_pushback(GSQueue *gq, void *item)
|
||||
{
|
||||
GSQueueElem *elem = MEM_mallocN(sizeof(*elem) + (size_t)gq->elem_size, "gqueue_push");
|
||||
memcpy(&elem[1], item, (size_t)gq->elem_size);
|
||||
GSQueueElem *elem = MEM_mallocN(sizeof(*elem) + gq->elem_size, "gqueue_push");
|
||||
memcpy(&elem[1], item, gq->elem_size);
|
||||
elem->next = gq->head;
|
||||
|
||||
if (BLI_gsqueue_is_empty(gq)) {
|
||||
|
@ -1639,7 +1639,7 @@ static void adjust_offsets(BevelParams *bp)
|
||||
bv->visited = false;
|
||||
}
|
||||
|
||||
q = BLI_gsqueue_new((int)sizeof(BevVert *));
|
||||
q = BLI_gsqueue_new(sizeof(BevVert *));
|
||||
/* the following loop terminates because at least one node is visited each time */
|
||||
for (;;) {
|
||||
/* look for root of a connected component in search graph */
|
||||
|
Loading…
Reference in New Issue
Block a user