Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source/blender/blenlib/BLI_stack.h4
-rw-r--r--source/blender/blenlib/intern/stack.c20
-rw-r--r--source/blender/modifiers/intern/MOD_skin.c2
3 files changed, 14 insertions, 12 deletions
diff --git a/source/blender/blenlib/BLI_stack.h b/source/blender/blenlib/BLI_stack.h
index 564ff513490..ac96195d390 100644
--- a/source/blender/blenlib/BLI_stack.h
+++ b/source/blender/blenlib/BLI_stack.h
@@ -31,7 +31,7 @@
typedef struct BLI_Stack BLI_Stack;
/* Create a new homogeneous stack with elements of 'elem_size' bytes */
-BLI_Stack *BLI_stack_new(int elem_size, const char *description);
+BLI_Stack *BLI_stack_new(size_t elem_size, const char *description);
/* Free the stack's data and the stack itself */
void BLI_stack_free(BLI_Stack *stack);
@@ -49,6 +49,6 @@ void BLI_stack_push(BLI_Stack *stack, void *src);
void BLI_stack_pop(BLI_Stack *stack, void *dst);
/* Returns true if the stack is empty, false otherwise */
-int BLI_stack_empty(const BLI_Stack *stack);
+bool BLI_stack_is_empty(const BLI_Stack *stack);
#endif
diff --git a/source/blender/blenlib/intern/stack.c b/source/blender/blenlib/intern/stack.c
index 5be2ed941a7..b0177cce642 100644
--- a/source/blender/blenlib/intern/stack.c
+++ b/source/blender/blenlib/intern/stack.c
@@ -28,21 +28,23 @@
#include <string.h>
#include <stdlib.h> /* abort() */
-#include "BLI_stack.h" /* own include */
-
#include "BLI_utildefines.h"
#include "MEM_guardedalloc.h"
+#include "BLI_stack.h" /* own include */
+
+#include "BLI_strict_flags.h"
+
struct BLI_Stack {
void *data;
- int totelem;
- int maxelem;
+ size_t totelem;
+ size_t maxelem;
- int elem_size;
+ size_t elem_size;
};
-BLI_Stack *BLI_stack_new(int elem_size, const char *description)
+BLI_Stack *BLI_stack_new(size_t elem_size, const char *description)
{
BLI_Stack *stack = MEM_callocN(sizeof(*stack), description);
@@ -74,11 +76,11 @@ void BLI_stack_push(BLI_Stack *stack, void *src)
* number of elements */
stack->maxelem = 32;
stack->data = MEM_mallocN((stack->elem_size *
- stack->maxelem), AT);
+ stack->maxelem), __func__);
}
else {
/* Double stack size */
- int maxelem = stack->maxelem + stack->maxelem;
+ size_t maxelem = stack->maxelem + stack->maxelem;
/* Check for overflow */
BLI_assert(maxelem > stack->maxelem);
stack->data = MEM_reallocN(stack->data,
@@ -104,7 +106,7 @@ void BLI_stack_pop(BLI_Stack *stack, void *dst)
}
}
-int BLI_stack_empty(const BLI_Stack *stack)
+bool BLI_stack_is_empty(const BLI_Stack *stack)
{
return stack->totelem == 0;
}
diff --git a/source/blender/modifiers/intern/MOD_skin.c b/source/blender/modifiers/intern/MOD_skin.c
index 832565cc247..825015fa25c 100644
--- a/source/blender/modifiers/intern/MOD_skin.c
+++ b/source/blender/modifiers/intern/MOD_skin.c
@@ -732,7 +732,7 @@ static EMat *build_edge_mats(const MVertSkin *vs,
}
}
- while (!BLI_stack_empty(stack)) {
+ while (!BLI_stack_is_empty(stack)) {
build_emats_stack(stack, visited_e, emat, emap, medge, vs, mvert);
}