[SDK] Minor improvements to CRT, RTL, and headers
Signed-off-by: Quinn Stephens <quinn@osmora.org>
This commit is contained in:
@@ -26,8 +26,7 @@ wmemset (
|
||||
wchar_t *ptr = dest;
|
||||
|
||||
while (count--) {
|
||||
*(wchar_t *)dest = c;
|
||||
dest = (wchar_t *)dest + 1;
|
||||
*dest++ = c;
|
||||
}
|
||||
|
||||
return ptr;
|
||||
@@ -44,9 +43,7 @@ wmemcpy (
|
||||
wchar_t *ptr = dest;
|
||||
|
||||
while (count--) {
|
||||
*(wchar_t *)dest = *(wchar_t *)src;
|
||||
dest = (wchar_t *)dest + 1;
|
||||
src = (wchar_t *)src + 1;
|
||||
*dest++ = *src++;
|
||||
}
|
||||
|
||||
return ptr;
|
||||
@@ -64,21 +61,17 @@ wmemmove (
|
||||
|
||||
/* Check for overlap */
|
||||
if (src > dest || ((wchar_t *)src + count) < (wchar_t *)dest) {
|
||||
/* Low-to-high copy, like memcpy() */
|
||||
while (count--) {
|
||||
*(wchar_t *)dest = *(wchar_t *)src;
|
||||
dest = (wchar_t *)dest + 1;
|
||||
src = (wchar_t *)src + 1;
|
||||
}
|
||||
} else {
|
||||
/* High-to-low copy */
|
||||
dest = (wchar_t *)dest + count - 1;
|
||||
src = (wchar_t *)src + count - 1;
|
||||
while (count--) {
|
||||
*(wchar_t *)dest = *(wchar_t *)src;
|
||||
dest = (wchar_t *)dest - 1;
|
||||
src = (wchar_t *)src - 1;
|
||||
}
|
||||
/* Low-to-high copy, use wmemcpy() */
|
||||
return wmemcpy(dest, src, count);
|
||||
}
|
||||
|
||||
/* High-to-low copy */
|
||||
dest = (wchar_t *)dest + count - 1;
|
||||
src = (wchar_t *)src + count - 1;
|
||||
while (count--) {
|
||||
*(wchar_t *)dest = *(wchar_t *)src;
|
||||
dest = (wchar_t *)dest - 1;
|
||||
src = (wchar_t *)src - 1;
|
||||
}
|
||||
|
||||
return ptr;
|
||||
|
Reference in New Issue
Block a user