/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* ft_print_memory.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: bchanot +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2017/05/01 16:40:12 by bchanot #+# #+# */ /* Updated: 2018/10/14 03:30:06 by bchanot ### ########.fr */ /* */ /* ************************************************************************** */ #include "libft.h" void print_line(unsigned char *s, size_t start, size_t max) { size_t i; i = start; while (i < start + 16 && i < max) { ft_puthex(s[i], 1); if (i % 2) ft_putchar(' '); i++; } while (i < start + 16) { ft_putchar(' '); ft_putchar(' '); if (i % 2) ft_putchar(' '); i++; } i = start; while (i < start + 16 && i < max) { ft_putascii(s[i]); i++; } ft_putchar('\n'); } void ft_print_memory(const void *addr, size_t size) { unsigned char *s; size_t c; s = (unsigned char *)addr; c = 0; while (c < size) { print_line(s, c, size); c += 16; } }