aboutsummaryrefslogtreecommitdiff
path: root/src/table.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/table.c')
-rw-r--r--src/table.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/table.c b/src/table.c
index 795994d..3c023d8 100644
--- a/src/table.c
+++ b/src/table.c
@@ -358,8 +358,11 @@ int l_countingsort(lua_State* L) {
lua_pop(L,1);
}
+
+ //required because max can be too big for the stack :c
+ int* count = malloc(sizeof *count * (max + 1));
+ //int count[max + 1];
- int count[max + 1];
for(size_t i = 0; i <= max; i++) count[i] = 0;
for(size_t i = 0; i < len; i++){
@@ -381,7 +384,8 @@ int l_countingsort(lua_State* L) {
lua_pushnumber(L,out[i]);
lua_settable(L, -3);
}
-
+
+ free(count);
return 1;
}