[Core] When copying backward, use memmove instead of memcpy.
anjbe
Branch: anjbe/genesis-plus-gx:memmove
Branch: eke/genesis-plus-gx:master
Merged
Merged pull request
Merged in anjbe/genesis-plus-gx/memmove (pull request #2)
Merged in anjbe/genesis-plus-gx/memmove (pull request #2)
memcpy's behavior when copying between two overlapping buffers is undefined. This is bad. For example, on OpenBSD, such copies abort the program.
memmove acts just like memcpy in almost every way, except copies between two overlapping buffers explicitly succeed. Thus it should be used here.