Put the custom allocator in its own lib, as to lessen the difficulty to switch between libc's allocator and a custom one (#7)
This commit is contained in:
parent
713f0f0302
commit
cb7f3c3fdf
85 changed files with 1121 additions and 877 deletions
18
output/src/hashmap/env/env.c
vendored
18
output/src/hashmap/env/env.c
vendored
|
|
@ -1,21 +1,19 @@
|
|||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* hashmap_env.c :+: :+: :+: */
|
||||
/* env.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: maiboyer <maiboyer@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2023/12/06 10:58:20 by maiboyer #+# #+# */
|
||||
/* Updated: 2023/12/11 15:32:51 by maiboyer ### ########.fr */
|
||||
/* Updated: 2024/05/14 18:46:51 by maiboyer ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "me/hash/hasher.h"
|
||||
#include "me/hash/sip.h"
|
||||
#include "me/hashmap/hashmap_env.h"
|
||||
#include "me/mem/mem_alloc.h"
|
||||
#include "me/mem/mem_alloc_array.h"
|
||||
#include "me/mem/mem_copy.h"
|
||||
#include "me/mem/mem.h"
|
||||
#include "me/types.h"
|
||||
#include <stdlib.h>
|
||||
|
||||
|
|
@ -43,7 +41,7 @@ t_hashmap_env *new_hashmap_with_buckets_env(
|
|||
hmap->cfunc = cfunc;
|
||||
hmap->drop = drop;
|
||||
if (hmap->buckets == NULL)
|
||||
return ((void)me_free(hmap), NULL);
|
||||
return ((void)mem_free(hmap), NULL);
|
||||
return (hmap);
|
||||
}
|
||||
|
||||
|
|
@ -57,13 +55,13 @@ void drop_hashmap_env(t_hashmap_env *hmap)
|
|||
if (hmap->buckets[index])
|
||||
{
|
||||
hmap->drop(hmap->buckets[index]->kv);
|
||||
me_free(hmap->buckets[index]);
|
||||
mem_free(hmap->buckets[index]);
|
||||
}
|
||||
index++;
|
||||
}
|
||||
hasher_finish(&hmap->hasher);
|
||||
me_free(hmap->buckets);
|
||||
me_free(hmap);
|
||||
mem_free(hmap->buckets);
|
||||
mem_free(hmap);
|
||||
}
|
||||
|
||||
t_entry_env *hashmap_get_entry_env(t_hashmap_env *hmap,
|
||||
|
|
@ -82,9 +80,7 @@ t_entry_env *hashmap_get_entry_env(t_hashmap_env *hmap,
|
|||
entry = entry->next;
|
||||
}
|
||||
else
|
||||
{
|
||||
return (entry);
|
||||
}
|
||||
}
|
||||
return (NULL);
|
||||
}
|
||||
|
|
|
|||
9
output/src/hashmap/env/env_utils.c
vendored
9
output/src/hashmap/env/env_utils.c
vendored
|
|
@ -1,19 +1,18 @@
|
|||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* hashmap_env_utils.c :+: :+: :+: */
|
||||
/* env_utils.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: maiboyer <maiboyer@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2023/12/06 10:58:20 by maiboyer #+# #+# */
|
||||
/* Updated: 2023/12/11 15:35:37 by maiboyer ### ########.fr */
|
||||
/* Updated: 2024/05/14 18:47:08 by maiboyer ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "me/hash/sip.h"
|
||||
#include "me/hashmap/hashmap_env.h"
|
||||
#include "me/mem/mem_alloc.h"
|
||||
#include "me/mem/mem_alloc_array.h"
|
||||
#include "me/mem/mem.h"
|
||||
#include "me/mem/mem_copy.h"
|
||||
#include "me/types.h"
|
||||
#include <stdlib.h>
|
||||
|
|
@ -51,6 +50,6 @@ void remove_hashmap_env(t_hashmap_env *hmap, t_str *key)
|
|||
else
|
||||
prev->next = entry->next;
|
||||
hmap->drop(entry->kv);
|
||||
me_free(entry);
|
||||
mem_free(entry);
|
||||
hmap->buckets[hashed_key % hmap->num_buckets] = NULL;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
#include "me/mem/mem_copy.h"
|
||||
#include "me/mem/mem_set_zero.h"
|
||||
#include "me/types.h"
|
||||
#include "me/alloc/alloc.h"
|
||||
#include "me/mem/mem.h"
|
||||
#include "me/vec/vec_parser_heredoc.h"
|
||||
#include <stdlib.h>
|
||||
|
||||
|
|
@ -43,7 +43,7 @@ t_error vec_parser_heredoc_push(t_vec_parser_heredoc *vec, t_heredoc element)
|
|||
new_capacity = (vec->capacity * 3) / 2 + 1;
|
||||
while (vec->len + 1 > new_capacity)
|
||||
new_capacity = (new_capacity * 3) / 2 + 1;
|
||||
vec->buffer = me_realloc_array(vec->buffer, new_capacity, sizeof(t_heredoc));
|
||||
vec->buffer = mem_realloc_array(vec->buffer, new_capacity, sizeof(t_heredoc));
|
||||
vec->capacity = new_capacity;
|
||||
}
|
||||
vec->buffer[vec->len] = element;
|
||||
|
|
@ -63,7 +63,7 @@ t_error vec_parser_heredoc_reserve(t_vec_parser_heredoc *vec, t_usize wanted_cap
|
|||
new_capacity = (vec->capacity * 3) / 2 + 1;
|
||||
while (wanted_capacity > new_capacity)
|
||||
new_capacity = (new_capacity * 3) / 2 + 1;
|
||||
vec->buffer = me_realloc_array(vec->buffer, new_capacity, sizeof(t_heredoc));
|
||||
vec->buffer = mem_realloc_array(vec->buffer, new_capacity, sizeof(t_heredoc));
|
||||
vec->capacity = new_capacity;
|
||||
}
|
||||
return (NO_ERROR);
|
||||
|
|
@ -100,5 +100,5 @@ void vec_parser_heredoc_free(t_vec_parser_heredoc vec)
|
|||
vec.len--;
|
||||
}
|
||||
}
|
||||
me_free(vec.buffer);
|
||||
mem_free(vec.buffer);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
#include "me/mem/mem_copy.h"
|
||||
#include "me/mem/mem_set_zero.h"
|
||||
#include "me/types.h"
|
||||
#include "me/alloc/alloc.h"
|
||||
#include "me/mem/mem.h"
|
||||
#include "me/vec/vec_parser_range.h"
|
||||
#include <stdlib.h>
|
||||
|
||||
|
|
@ -43,7 +43,7 @@ t_error vec_parser_range_push(t_vec_parser_range *vec, t_parser_range element)
|
|||
new_capacity = (vec->capacity * 3) / 2 + 1;
|
||||
while (vec->len + 1 > new_capacity)
|
||||
new_capacity = (new_capacity * 3) / 2 + 1;
|
||||
vec->buffer = me_realloc_array(vec->buffer, new_capacity, sizeof(t_parser_range));
|
||||
vec->buffer = mem_realloc_array(vec->buffer, new_capacity, sizeof(t_parser_range));
|
||||
vec->capacity = new_capacity;
|
||||
}
|
||||
vec->buffer[vec->len] = element;
|
||||
|
|
@ -63,7 +63,7 @@ t_error vec_parser_range_reserve(t_vec_parser_range *vec, t_usize wanted_capacit
|
|||
new_capacity = (vec->capacity * 3) / 2 + 1;
|
||||
while (wanted_capacity > new_capacity)
|
||||
new_capacity = (new_capacity * 3) / 2 + 1;
|
||||
vec->buffer = me_realloc_array(vec->buffer, new_capacity, sizeof(t_parser_range));
|
||||
vec->buffer = mem_realloc_array(vec->buffer, new_capacity, sizeof(t_parser_range));
|
||||
vec->capacity = new_capacity;
|
||||
}
|
||||
return (NO_ERROR);
|
||||
|
|
@ -100,5 +100,5 @@ void vec_parser_range_free(t_vec_parser_range vec)
|
|||
vec.len--;
|
||||
}
|
||||
}
|
||||
me_free(vec.buffer);
|
||||
mem_free(vec.buffer);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
#include "me/mem/mem_copy.h"
|
||||
#include "me/mem/mem_set_zero.h"
|
||||
#include "me/types.h"
|
||||
#include "me/alloc/alloc.h"
|
||||
#include "me/mem/mem.h"
|
||||
#include "me/vec/vec_reduce_action.h"
|
||||
#include <stdlib.h>
|
||||
|
||||
|
|
@ -43,7 +43,7 @@ t_error vec_reduce_action_push(t_vec_reduce_action *vec, t_reduce_action element
|
|||
new_capacity = (vec->capacity * 3) / 2 + 1;
|
||||
while (vec->len + 1 > new_capacity)
|
||||
new_capacity = (new_capacity * 3) / 2 + 1;
|
||||
vec->buffer = me_realloc_array(vec->buffer, new_capacity, sizeof(t_reduce_action));
|
||||
vec->buffer = mem_realloc_array(vec->buffer, new_capacity, sizeof(t_reduce_action));
|
||||
vec->capacity = new_capacity;
|
||||
}
|
||||
vec->buffer[vec->len] = element;
|
||||
|
|
@ -63,7 +63,7 @@ t_error vec_reduce_action_reserve(t_vec_reduce_action *vec, t_usize wanted_capac
|
|||
new_capacity = (vec->capacity * 3) / 2 + 1;
|
||||
while (wanted_capacity > new_capacity)
|
||||
new_capacity = (new_capacity * 3) / 2 + 1;
|
||||
vec->buffer = me_realloc_array(vec->buffer, new_capacity, sizeof(t_reduce_action));
|
||||
vec->buffer = mem_realloc_array(vec->buffer, new_capacity, sizeof(t_reduce_action));
|
||||
vec->capacity = new_capacity;
|
||||
}
|
||||
return (NO_ERROR);
|
||||
|
|
@ -100,5 +100,5 @@ void vec_reduce_action_free(t_vec_reduce_action vec)
|
|||
vec.len--;
|
||||
}
|
||||
}
|
||||
me_free(vec.buffer);
|
||||
mem_free(vec.buffer);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
#include "me/mem/mem_copy.h"
|
||||
#include "me/mem/mem_set_zero.h"
|
||||
#include "me/types.h"
|
||||
#include "me/alloc/alloc.h"
|
||||
#include "me/mem/mem.h"
|
||||
#include "me/vec/vec_str.h"
|
||||
#include <stdlib.h>
|
||||
|
||||
|
|
@ -43,7 +43,7 @@ t_error vec_str_push(t_vec_str *vec, t_str element)
|
|||
new_capacity = (vec->capacity * 3) / 2 + 1;
|
||||
while (vec->len + 1 > new_capacity)
|
||||
new_capacity = (new_capacity * 3) / 2 + 1;
|
||||
vec->buffer = me_realloc_array(vec->buffer, new_capacity, sizeof(t_str));
|
||||
vec->buffer = mem_realloc_array(vec->buffer, new_capacity, sizeof(t_str));
|
||||
vec->capacity = new_capacity;
|
||||
}
|
||||
vec->buffer[vec->len] = element;
|
||||
|
|
@ -63,7 +63,7 @@ t_error vec_str_reserve(t_vec_str *vec, t_usize wanted_capacity)
|
|||
new_capacity = (vec->capacity * 3) / 2 + 1;
|
||||
while (wanted_capacity > new_capacity)
|
||||
new_capacity = (new_capacity * 3) / 2 + 1;
|
||||
vec->buffer = me_realloc_array(vec->buffer, new_capacity, sizeof(t_str));
|
||||
vec->buffer = mem_realloc_array(vec->buffer, new_capacity, sizeof(t_str));
|
||||
vec->capacity = new_capacity;
|
||||
}
|
||||
return (NO_ERROR);
|
||||
|
|
@ -100,5 +100,5 @@ void vec_str_free(t_vec_str vec)
|
|||
vec.len--;
|
||||
}
|
||||
}
|
||||
me_free(vec.buffer);
|
||||
mem_free(vec.buffer);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue