libft/srcs/ft_memcpy32.c

25 lines
547 B
C

#include <stddef.h>
#include <stdint.h>
void *ft_memcpy32(void *dst, const void *src, size_t n) {
size_t i;
uint32_t *lp_dst;
const uint32_t *lp_src;
unsigned char *bp_dst;
const unsigned char *bp_src;
lp_dst = (uint32_t *)dst;
lp_src = (const uint32_t *)src;
for (i = 0; i < n / 4; i++) {
lp_dst[i] = lp_src[i];
}
bp_dst = (unsigned char *)(lp_dst + i);
bp_src = (const unsigned char *)(lp_src + i);
for (i = 0; i < n % 4; i++) {
bp_dst[i] = bp_src[i];
}
return dst;
}