54 lines
684 B
C
54 lines
684 B
C
/*++
|
|
|
|
Copyright (c) 2024, Quinn Stephens.
|
|
Provided under the BSD 3-Clause license.
|
|
|
|
Module Name:
|
|
|
|
wmem.c
|
|
|
|
Abstract:
|
|
|
|
Provides wide memory manipulation routines.
|
|
|
|
--*/
|
|
|
|
#include <wchar.h>
|
|
|
|
wchar_t *
|
|
wmemset (
|
|
wchar_t *dest,
|
|
wchar_t c,
|
|
size_t count
|
|
)
|
|
|
|
{
|
|
void *ptr = dest;
|
|
|
|
while (count--) {
|
|
*(wchar_t *)dest = c;
|
|
dest = (wchar_t *)dest + 1;
|
|
}
|
|
|
|
return ptr;
|
|
}
|
|
|
|
wchar_t *
|
|
wmemcpy (
|
|
wchar_t *dest,
|
|
const wchar_t *src,
|
|
size_t count
|
|
)
|
|
|
|
{
|
|
void *ptr = dest;
|
|
|
|
while (count--) {
|
|
*(wchar_t *)dest = *(wchar_t *)src;
|
|
dest = (wchar_t *)dest + 1;
|
|
src = (wchar_t *)src + 1;
|
|
}
|
|
|
|
return ptr;
|
|
}
|