Zappy - Year end project 2
This is a project that Epitech asked us to create in order to allow us to reveiw the notions of the current year.
Loading...
Searching...
No Matches
free.c
Go to the documentation of this file.
1/*
2** EPITECH PROJECT, 2024
3** server
4** File description:
5** free
6*/
7
8#include <string.h>
9#include <stdlib.h>
10#include "arg_parse.h"
11#include "utils.h"
12
13void free_array(void *to_free)
14{
15 void **array = (void **)to_free;
16
17 if (array == NULL) {
18 return;
19 }
20 for (int i = 0; array[i] != NULL; ++i) {
21 free(array[i]);
22 }
23 free(array);
24}
25
26void free_array_size_n(void *to_free, const size_t n)
27{
28 void **array = (void **)to_free;
29
30 for (size_t i = 0; i < n; ++i) {
31 free(array[i]);
32 }
33}
34
35void free_args(struct arg_s **args, const size_t size)
36{
37 char **tmp;
38
39 for (size_t i = 0; i < size; ++i) {
40 if (strcmp(args[i]->name, "-n") != 0) {
41 free(args[i]->value);
42 } else {
43 tmp = args[i]->value;
44 tmp[args[i]->nb_value] = NULL;
45 free_array(tmp);
46 }
47 free(args[i]->name);
48 free(args[i]);
49 }
50 free(args);
51}
void free_args(struct arg_s **args, const size_t size)
Free struct args_s of lenght size.
Definition free.c:35
void free_array(void *to_free)
! FREE !!
Definition free.c:13
void free_array_size_n(void *to_free, const size_t n)
Free any ** array up to n.
Definition free.c:26
void * value
Definition arg_parse.h:19
size_t nb_value
Definition arg_parse.h:18