aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacob Janzen <jacob.a.s.janzen@gmail.com>2024-02-14 12:40:50 -0600
committerJacob Janzen <jacob.a.s.janzen@gmail.com>2024-02-14 12:40:50 -0600
commit5304bd492183726f2f14b7d4f2bf817184ae0fa0 (patch)
treefd44b968197c9256491fb9911921b59437706920
parentb5b4a5d66deefa3858bedf7bc58e6c96340e829b (diff)
fix memory leak
-rw-r--r--.cache/clangd/index/cavegen.c.31C36C571011BBE3.idxbin0 -> 1938 bytes
-rw-r--r--.cache/clangd/index/cavegen.h.E2678233C4D685BB.idxbin0 -> 1008 bytes
-rw-r--r--.cache/clangd/index/common.h.62D878C53FCF5453.idxbin0 -> 350 bytes
-rw-r--r--.cache/clangd/index/display.c.7FAC180B80A66DEC.idxbin0 -> 5978 bytes
-rw-r--r--.cache/clangd/index/display.h.14F74A4A3285599B.idxbin0 -> 1910 bytes
-rw-r--r--.cache/clangd/index/entity.h.3B6FA0ECB38E3A2B.idxbin0 -> 554 bytes
-rw-r--r--.cache/clangd/index/ht.c.473DB230E35C76F1.idxbin0 -> 4256 bytes
-rw-r--r--.cache/clangd/index/ht.h.6FF09F553AA22C09.idxbin0 -> 1248 bytes
-rw-r--r--.cache/clangd/index/main.c.0EAB2510BE9DFF6B.idxbin0 -> 3000 bytes
-rw-r--r--ht.c1
-rw-r--r--include/display.h13
-rw-r--r--main.c1
-rw-r--r--src/display.c10
-rw-r--r--src/ht.c4
14 files changed, 22 insertions, 7 deletions
diff --git a/.cache/clangd/index/cavegen.c.31C36C571011BBE3.idx b/.cache/clangd/index/cavegen.c.31C36C571011BBE3.idx
new file mode 100644
index 0000000..a11359f
--- /dev/null
+++ b/.cache/clangd/index/cavegen.c.31C36C571011BBE3.idx
Binary files differ
diff --git a/.cache/clangd/index/cavegen.h.E2678233C4D685BB.idx b/.cache/clangd/index/cavegen.h.E2678233C4D685BB.idx
new file mode 100644
index 0000000..3c216e6
--- /dev/null
+++ b/.cache/clangd/index/cavegen.h.E2678233C4D685BB.idx
Binary files differ
diff --git a/.cache/clangd/index/common.h.62D878C53FCF5453.idx b/.cache/clangd/index/common.h.62D878C53FCF5453.idx
new file mode 100644
index 0000000..1bb8397
--- /dev/null
+++ b/.cache/clangd/index/common.h.62D878C53FCF5453.idx
Binary files differ
diff --git a/.cache/clangd/index/display.c.7FAC180B80A66DEC.idx b/.cache/clangd/index/display.c.7FAC180B80A66DEC.idx
new file mode 100644
index 0000000..7ef3d5f
--- /dev/null
+++ b/.cache/clangd/index/display.c.7FAC180B80A66DEC.idx
Binary files differ
diff --git a/.cache/clangd/index/display.h.14F74A4A3285599B.idx b/.cache/clangd/index/display.h.14F74A4A3285599B.idx
new file mode 100644
index 0000000..e038903
--- /dev/null
+++ b/.cache/clangd/index/display.h.14F74A4A3285599B.idx
Binary files differ
diff --git a/.cache/clangd/index/entity.h.3B6FA0ECB38E3A2B.idx b/.cache/clangd/index/entity.h.3B6FA0ECB38E3A2B.idx
new file mode 100644
index 0000000..705bcb2
--- /dev/null
+++ b/.cache/clangd/index/entity.h.3B6FA0ECB38E3A2B.idx
Binary files differ
diff --git a/.cache/clangd/index/ht.c.473DB230E35C76F1.idx b/.cache/clangd/index/ht.c.473DB230E35C76F1.idx
new file mode 100644
index 0000000..44e7dfd
--- /dev/null
+++ b/.cache/clangd/index/ht.c.473DB230E35C76F1.idx
Binary files differ
diff --git a/.cache/clangd/index/ht.h.6FF09F553AA22C09.idx b/.cache/clangd/index/ht.h.6FF09F553AA22C09.idx
new file mode 100644
index 0000000..1cbfb5e
--- /dev/null
+++ b/.cache/clangd/index/ht.h.6FF09F553AA22C09.idx
Binary files differ
diff --git a/.cache/clangd/index/main.c.0EAB2510BE9DFF6B.idx b/.cache/clangd/index/main.c.0EAB2510BE9DFF6B.idx
new file mode 100644
index 0000000..6a40992
--- /dev/null
+++ b/.cache/clangd/index/main.c.0EAB2510BE9DFF6B.idx
Binary files differ
diff --git a/ht.c b/ht.c
new file mode 100644
index 0000000..d674af2
--- /dev/null
+++ b/ht.c
@@ -0,0 +1 @@
+#include "ht.h"
diff --git a/include/display.h b/include/display.h
index c4f5249..d9c66bb 100644
--- a/include/display.h
+++ b/include/display.h
@@ -30,11 +30,14 @@ enum action {
NUM_ACTIONS,
};
-display_t *display_init(void);
-void display_map(display_t *disp, struct map *map, ht_t *entities);
-void display_instructions(display_t *disp);
-void display_message(display_t *disp, char *msg);
-void display_status(display_t *disp, struct entity *entity);
+display_t *display_init(void);
+void display_destroy(display_t *disp);
+
+void display_map(display_t *disp, struct map *map, ht_t *entities);
+void display_instructions(display_t *disp);
+void display_message(display_t *disp, char *msg);
+void display_status(display_t *disp, struct entity *entity);
+
enum action display_process_input(void);
#endif // DISPLAY_H_
diff --git a/main.c b/main.c
index 2d1e6c0..086a093 100644
--- a/main.c
+++ b/main.c
@@ -138,6 +138,7 @@ int main(void)
free(map.map);
ht_destroy(entities);
+ display_destroy(disp);
endwin();
diff --git a/src/display.c b/src/display.c
index 0b08390..cc0a06b 100644
--- a/src/display.c
+++ b/src/display.c
@@ -89,6 +89,16 @@ display_t *display_init(void)
return create_windows();
}
+void display_destroy(display_t *disp)
+{
+ delwin(disp->main);
+ delwin(disp->inst);
+ delwin(disp->msgs);
+ delwin(disp->stat);
+
+ free(disp);
+}
+
void display_map(display_t *disp, struct map *map, ht_t *entities)
{
// print map
diff --git a/src/ht.c b/src/ht.c
index 39093eb..f44ea12 100644
--- a/src/ht.c
+++ b/src/ht.c
@@ -4,8 +4,6 @@
#include <stdlib.h>
#include <string.h>
-#define SIZE 1024
-
struct node {
char *key;
void *val;
@@ -56,6 +54,8 @@ static void rehash(ht_t *h, int newsize)
h->curr_index = 0;
h->curr_node = NULL;
h->iterating = false;
+
+ free(new_h);
}
static unsigned long djb2_hash(char *str)