memcpy code with overlap protected
Anonymous
void *memcpy(void *dest, void *src, size_t n) { void * lower; void * higher; if (dest < src) { lower = dest; higher = src; } else { lower = src; higher = dest; } for (size_t i = 0; i < n && &((uint8_t*)lower)[i] < (uint8_t *)higher; i++) { ((uint8_t *)dest)[i] = ((uint8_t*)src)[i]; } return dest; }
Check out your Company Bowl for anonymous work chats.