summaryrefslogtreecommitdiff
path: root/src/solve.c
diff options
context:
space:
mode:
authorJesper Jensen <jesper@jnsn.dev>2026-02-11 20:02:04 +0100
committerJesper Jensen <jesper@jnsn.dev>2026-02-11 20:02:04 +0100
commit679907d1b2023396b5f353b3390ca0879fc15e50 (patch)
tree2688a6f42bcf2688c80a96a9bd2128982befcd64 /src/solve.c
parent254e05a47ad4e22fa20885dec62acc59ecc561d0 (diff)
Free some memory before it leaks
Diffstat (limited to 'src/solve.c')
-rw-r--r--src/solve.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/solve.c b/src/solve.c
index 3f8e081..630a0a6 100644
--- a/src/solve.c
+++ b/src/solve.c
@@ -40,6 +40,14 @@ void add_constraint(struct constraints *c, struct constraint *new) {
c->length += new_num;
}
+void free_constraints(struct constraints *c) {
+ free(c->elements);
+ c->elements = NULL;
+ c->length = 0;
+ c->capacity = 0;
+ c->aliases_num = 0;
+}
+
// @COMPL: We should do something better than this. I don't really know what.
struct frontier {
@@ -177,6 +185,7 @@ static bool find_angle(struct constraint *constraints, size_t constraints_num, s
if(frame < frames + SEARCH_DEPTH-1) {
path[frame - frames + 1].i = -1;
}
+ free(checked);
return true;
}
@@ -187,6 +196,7 @@ static bool find_angle(struct constraint *constraints, size_t constraints_num, s
frame->head = other;
}
+ free(checked);
return false;
}