summaryrefslogtreecommitdiff
path: root/src/solve.c
diff options
context:
space:
mode:
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;
}