fix for building in debug mode.

This commit is contained in:
Campbell Barton 2012-08-06 08:01:20 +00:00
parent 583fa7d1ea
commit 00ea79afa0
2 changed files with 17 additions and 6 deletions

@ -24,6 +24,10 @@
#ifndef __BLI_STACK_H__ #ifndef __BLI_STACK_H__
#define __BLI_STACK_H__ #define __BLI_STACK_H__
/** \file BLI_stack.h
* \ingroup bli
*/
typedef struct BLI_Stack BLI_Stack; typedef struct BLI_Stack BLI_Stack;
/* Create a new homogeneous stack with elements of 'elem_size' bytes */ /* Create a new homogeneous stack with elements of 'elem_size' bytes */

@ -21,10 +21,17 @@
* *
*/ */
#include "BLI_stack.h" /** \file blender/blenlib/intern/stack.c
* \ingroup bli
*/
#include <string.h>
#include <stdlib.h> /* abort() */
#include "BLI_stack.h" /* own include */
#include "BLI_utildefines.h" #include "BLI_utildefines.h"
#include "MEM_guardedalloc.h" #include "MEM_guardedalloc.h"
#include <string.h>
typedef struct BLI_Stack { typedef struct BLI_Stack {
void *data; void *data;
@ -55,7 +62,7 @@ void BLI_stack_free(BLI_Stack *stack)
/* Gets the last element in the stack */ /* Gets the last element in the stack */
#define STACK_LAST_ELEM(stack__) \ #define STACK_LAST_ELEM(stack__) \
(((char*)(stack__)->data) + \ (((char *)(stack__)->data) + \
((stack__)->elem_size * ((stack__)->totelem - 1))) ((stack__)->elem_size * ((stack__)->totelem - 1)))
void BLI_stack_push(BLI_Stack *stack, void *src) void BLI_stack_push(BLI_Stack *stack, void *src)
@ -67,7 +74,7 @@ void BLI_stack_push(BLI_Stack *stack, void *src)
* number of elements */ * number of elements */
stack->maxelem = 32; stack->maxelem = 32;
stack->data = MEM_mallocN((stack->elem_size * stack->data = MEM_mallocN((stack->elem_size *
stack->maxelem), AT); stack->maxelem), AT);
} }
else { else {
/* Double stack size */ /* Double stack size */
@ -75,8 +82,8 @@ void BLI_stack_push(BLI_Stack *stack, void *src)
/* Check for overflow */ /* Check for overflow */
BLI_assert(maxelem > stack->maxelem); BLI_assert(maxelem > stack->maxelem);
stack->data = MEM_reallocN(stack->data, stack->data = MEM_reallocN(stack->data,
(stack->elem_size * (stack->elem_size *
maxelem)); maxelem));
stack->maxelem = maxelem; stack->maxelem = maxelem;
} }
} }