summaryrefslogtreecommitdiff
path: root/src/free_memory.c
diff options
context:
space:
mode:
authoryctct <yctct@yctct.com>2026-09-13 18:58:14 +0200
committeryctct <yctct@yctct.com>2026-09-13 18:58:14 +0200
commit47beba686ff9d2aab63738fba7176a5235703d05 (patch)
treef839ed36a9e9d4476fcdc59379b17903abfa35c8 /src/free_memory.c
Add all files, first commit
Diffstat (limited to 'src/free_memory.c')
-rw-r--r--src/free_memory.c38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/free_memory.c b/src/free_memory.c
new file mode 100644
index 0000000..3853e33
--- /dev/null
+++ b/src/free_memory.c
@@ -0,0 +1,38 @@
+#include "codexion.h"
+# include <stdlib.h> // for atoi(), malloc()
+
+void free_philos(t_sim *sim)
+{
+ t_philo **philos;
+ t_philo *philo;
+ int number_of_philos;
+
+ philos = sim->philos;
+ number_of_philos = sim->number_of_philos_actual;
+ while (number_of_philos-- > 0)
+ {
+ philo = *philos++;
+ free(philo);
+ }
+ philos = sim->philos;
+ free(philos);
+ sim->philos = NULL;
+}
+
+void free_forks(t_sim *sim)
+{
+ t_fork **forks;
+ t_fork *fork;
+ int number_of_forks;
+
+ forks = sim->forks;
+ number_of_forks = sim->number_of_forks_actual;
+ while (number_of_forks-- > 0)
+ {
+ fork = *forks++;
+ free(fork);
+ }
+ forks = sim->forks;
+ free(forks);
+ sim->forks = NULL;
+}