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