get_next_line_utils.c
1 /* ************************************************************************** */ 2 /* */ 3 /* ::: :::::::: */ 4 /* get_next_line_utils.c :+: :+: :+: */ 5 /* +:+ +:+ +:+ */ 6 /* By: ll-hotel <ll-hotel@student.42.fr> +#+ +:+ +#+ */ 7 /* +#+#+#+#+#+ +#+ */ 8 /* Created: 2024/06/25 13:18:14 by ll-hotel #+# #+# */ 9 /* Updated: 2024/06/25 15:07:40 by ll-hotel ### ########.fr */ 10 /* */ 11 /* ************************************************************************** */ 12 13 #include <stdlib.h> 14 15 void gnl_memcpy(void *dest, void *src, u_long size) 16 { 17 if (size & 1) 18 *((char *)dest++) = *((char *)src++); 19 if (size & 2) 20 *((short *)dest) = *((short *)src); 21 dest += (size & 2); 22 src += (size & 2); 23 if (size & 4) 24 *((int *)dest) = *((int *)src); 25 dest += (size & 4); 26 src += (size & 4); 27 size >>= 3; 28 while (size--) 29 { 30 *((long *)dest) = *((long *)src); 31 dest += 8; 32 src += 8; 33 } 34 } 35 36 void *gnl_realloc(void *p, u_long old_size, u_long size) 37 { 38 void *new_p; 39 40 new_p = malloc(size); 41 if (new_p) 42 gnl_memcpy(new_p, p, old_size); 43 free(p); 44 return (new_p); 45 } 46 47 u_long gnl_strichr(char *str, int c) 48 { 49 u_long i; 50 51 i = 0; 52 while (str[i] && str[i] != c) 53 i += 1; 54 return (i); 55 }