text: /*
   * Copyright (C) 2002     Manuel Novoa III
   * Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
   *
   * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
   */
  
  #include "_string.h"
  
  #ifdef WANT_WIDE
  # define Wmemmove wmemmove
  #else
  # define Wmemmove memmove
  #endif
  
  Wvoid *Wmemmove(Wvoid *s1, const Wvoid *s2, size_t n)
  {
  	register Wchar *s = (Wchar *) s1;
  	register const Wchar *p = (const Wchar *) s2;
  
  	if (p >= s) {
  		while (n) {
  			*s++ = *p++;
  			--n;
  		}
  	} else {
  		while (n) {
  			--n;
  			s[n] = p[n];
  		}
  	}
  
  	return s1;
  }
  
  #ifndef WANT_WIDE
  libc_hidden_def(memmove)
  #endif
  