master
 1/**
 2 * This file has no copyright assigned and is placed in the Public Domain.
 3 * This file is part of the mingw-w64 runtime package.
 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
 5 */
 6
 7#define __CRT__NO_INLINE
 8#include	<errno.h>
 9#include	<stdio.h>
10#include	<stdlib.h>
11#include	<wchar.h>
12
13#if 0
14wchar_t *
15wmemmove(s1, s2, n)
16	register wchar_t		*s1;
17	register const wchar_t	*s2;
18	register size_t			n;
19{
20	wchar_t				*orig_s1 = s1;
21
22	if ( s1 == NULL || s2 == NULL || n == 0 )
23		return orig_s1;		/* robust */
24
25	/* XXX -- The following test works only within a flat address space! */
26	if ( s2 >= s1 )
27		for ( ; n > 0; --n )
28			*s1++ = *s2++;
29	else	{
30		s1 += n;
31		s2 += n;
32
33		for ( ; n > 0; --n )
34			*--s1 = *--s2;
35		}
36
37	return orig_s1;
38}
39#endif
40
41wchar_t *__cdecl wmemmove(wchar_t *_S1,const wchar_t *_S2,size_t _N)
42{
43	return (wchar_t *)memmove(_S1,_S2,_N*sizeof(wchar_t));
44}
45