//------------------------------------------------------------------------------ // // Copyright (c) 2019, Pete Batard. All rights reserved. // Copyright (c) 2021, Arm Limited. All rights reserved.
// // SPDX-License-Identifier: BSD-2-Clause-Patent // //------------------------------------------------------------------------------ #if defined(_M_ARM64) typedef unsigned __int64 size_t; #else typedef unsigned __int32 size_t; #endif void* memmove(void *, const void *, size_t); #pragma intrinsic(memmove) #pragma function(memmove) void* memmove(void *dest, const void *src, size_t n) { unsigned char *d; unsigned char const *s; d = dest; s = src; if (d < s) { while (n-- != 0) { *d++ = *s++; } } else { d += n; s += n; while (n-- != 0) { *--d = *--s; } } return dest; }