- register unsigned int *p = (unsigned int *)s1;
- register unsigned int *cs2 = (unsigned int *)s2;
- register unsigned int *endi;
-
- endi = (unsigned int *)((char *)p + (n & ~0x03));
- while (p != endi)
- {
- *p++ = *cs2++;
- }
- switch (n & 0x03)
- {
- case 0:
- break;
- case 1:
- *(char *)p = *(char *)cs2;
- break;
- case 2:
- *(char *)p = *(char *)cs2;
- p = (unsigned int *)((char *)p + 1);
- cs2 = (unsigned int *)((char *)cs2 + 1);
- *(char *)p = *(char *)cs2;
- break;
- case 3:
- *(char *)p = *(char *)cs2;
- p = (unsigned int *)((char *)p + 1);
- cs2 = (unsigned int *)((char *)cs2 + 1);
- *(char *)p = *(char *)cs2;
- p = (unsigned int *)((char *)p + 1);
- cs2 = (unsigned int *)((char *)cs2 + 1);
- *(char *)p = *(char *)cs2;
- break;
- }
- return (s1);
+ char s[11] = "xxxxxxxxxxx";
+ BEGIN_TESTS;
+ TESTCASE( memcpy( s, abcde, 6 ) == s );
+ TESTCASE( s[4] == 'e' );
+ TESTCASE( s[5] == '\0' );
+ TESTCASE( memcpy( s + 5, abcde, 5 ) == s + 5 );
+ TESTCASE( s[9] == 'e' );
+ TESTCASE( s[10] == 'x' );
+ return TEST_RESULTS;