aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMistivia <i@mistivia.com>2025-12-24 20:06:36 +0800
committerMistivia <i@mistivia.com>2025-12-24 20:06:36 +0800
commit59525b2c4a6e2a25c6ba619b42405121d20c2c9a (patch)
tree4925d7b75cd10cc7e65e04f3a738a3455971720e
parente21acd14b976f018bf0c4d2ce6fb8a0ad12f160a (diff)
fix day 11 leak
-rw-r--r--11/part1.c7
-rw-r--r--11/part2.c10
2 files changed, 14 insertions, 3 deletions
diff --git a/11/part1.c b/11/part1.c
index de5f1a2..65f0236 100644
--- a/11/part1.c
+++ b/11/part1.c
@@ -123,5 +123,12 @@ int main() {
}
long ret = search(Tag_new("you"));
printf("%ld\n", ret);
+
+ Tag2TagVectorHashTableIter dagit = Tag2TagVectorHashTable_begin(&dag);
+ for (; dagit != NULL; dagit = Tag2TagVectorHashTable_next(&dag, dagit)) {
+ TagVector_free(&dagit->val);
+ }
+ Tag2TagVectorHashTable_free(&dag);
+ Tag2LongHashTable_free(&cache);
return 0;
} \ No newline at end of file
diff --git a/11/part2.c b/11/part2.c
index edc67ba..b7a441d 100644
--- a/11/part2.c
+++ b/11/part2.c
@@ -1,16 +1,13 @@
#include <stdint.h>
-#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
-#include <errno.h>
#include <ctype.h>
#include <algds/str.h>
#include <algds/vec.h>
#include <algds/hash_table.h>
#include <algds/mmhash.h>
-#include <time.h>
#define PANIC do { \
fprintf(stderr, "panic at %s:%d\n", __FILE__, __LINE__); \
@@ -150,5 +147,12 @@ int main() {
}
long ret = search(Tag_new("svr"), 0, 0);
printf("%ld\n", ret);
+
+ Tag2TagVectorHashTableIter dagit = Tag2TagVectorHashTable_begin(&dag);
+ for (; dagit != NULL; dagit = Tag2TagVectorHashTable_next(&dag, dagit)) {
+ TagVector_free(&dagit->val);
+ }
+ Tag2TagVectorHashTable_free(&dag);
+ CacheEntry2LongHashTable_free(&cache);
return 0;
} \ No newline at end of file