diff options
Diffstat (limited to 'src/free_memory.c')
| -rw-r--r-- | src/free_memory.c | 38 |
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; +} |
