25 lines
547 B
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;
|
|
}
|