(root)/
gcc-13.2.0/
libgcc/
memmove.c
       1  /* Public domain.  */
       2  #include <stddef.h>
       3  
       4  void *
       5  memmove (void *dest, const void *src, size_t len)
       6  {
       7    char *d = dest;
       8    const char *s = src;
       9    if (d < s)
      10      while (len--)
      11        *d++ = *s++;
      12    else
      13      {
      14        char *lasts = s + (len-1);
      15        char *lastd = d + (len-1);
      16        while (len--)
      17          *lastd-- = *lasts--;
      18      }
      19    return dest;
      20  }