diff options
| author | Charles Cabergs <me@cacharle.xyz> | 2020-09-18 16:39:52 +0200 |
|---|---|---|
| committer | Charles Cabergs <me@cacharle.xyz> | 2020-09-18 16:39:52 +0200 |
| commit | dd0c485ac4975b7dd6d2e230213be1da50d0a065 (patch) | |
| tree | 5fbd967f8b95c72fbb696bb089c2cc349d28b61f /src/mem/ft_memmem.c | |
| parent | 3c3f1115f6e9a9b914e2dcbd796501ca7ce85342 (diff) | |
| download | libft-dd0c485ac4975b7dd6d2e230213be1da50d0a065.tar.gz libft-dd0c485ac4975b7dd6d2e230213be1da50d0a065.tar.bz2 libft-dd0c485ac4975b7dd6d2e230213be1da50d0a065.zip | |
Removing unnecessary stuffmalloc
Diffstat (limited to 'src/mem/ft_memmem.c')
| -rw-r--r-- | src/mem/ft_memmem.c | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/src/mem/ft_memmem.c b/src/mem/ft_memmem.c deleted file mode 100644 index fa1446c..0000000 --- a/src/mem/ft_memmem.c +++ /dev/null @@ -1,58 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_memmem.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/13 01:54:55 by cacharle #+# #+# */ -/* Updated: 2020/02/13 21:04:46 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_mem.h" - -#define BAD_TABLE_SIZE 256 - -static void st_bad_table_init(size_t bad_table[BAD_TABLE_SIZE], - const char *little, size_t little_len) -{ - size_t i; - - i = 0; - while (i < BAD_TABLE_SIZE) - bad_table[i++] = little_len; - i = 0; - while (i < little_len - 1) - { - bad_table[(int)little[i]] = little_len - i - 1; - i++; - } -} - -static int st_memcmp_end(const void *s1, const void *s2, size_t n) -{ - while (n-- > 0) - if (*(t_ftbyte*)(s1 + n) != *(t_ftbyte*)(s2 + n)) - return (*(t_ftbyte*)(s1 + n) - *(t_ftbyte*)(s2 + n)); - return (0); -} - -void *ft_memmem(const void *big, size_t big_len, - const void *little, size_t little_len) -{ - size_t i; - size_t bad_table[BAD_TABLE_SIZE]; - - if (big_len < little_len || little_len == 0 || big_len == 0) - return (NULL); - st_bad_table_init(bad_table, little, little_len); - i = 0; - while (i <= big_len - little_len) - { - if (st_memcmp_end(big + i, little, little_len) == 0) - return ((void*)big + i); - i += bad_table[*(t_ftbyte*)(big + i + little_len - 1)]; - } - return (NULL); -} |
