Internationalization and localization tools


Locale-Sensitive Length Functions

void *memmove(void *to, const void *from, size_t size);

wchar_t *wmemmove(wchar *wto, const wchar_t *wfrom, size_t size);

void bcopy(const void *from, void *to, size_t size);

Internationalization (I18n) Function Overview

memmove copies the size bytes at from into the size bytes at to, even if those two blocks of space overlap. In the case of overlap, memmove is careful to copy the original values of the bytes in the block at from, including those bytes which also belong to the block at to.

wmemmove is the wide version of the function; its parameters and return value are wide character strings and size is the number of wide characters, not bytes, to be copied.

bcopy is a partially obsolete alternative for memmove, derived from BSD. Note that it is not quite equivalent to memmove, because the arguments are not in the same order and there is no return value.

I18n Issues

Special care must be taken with the size parameter. See Locale-Sensitive Length Functions for a complete discussion of the issues involved with functions that pass length parameters.

There is no Windows Generic function for memmove.

Recommended Replacements*

*If you're already using the recommended function, see I18n Issues for other reasons why Globalyzer is detecting the function.

Locale-Sensitive Length Functions

 

Lingoport internationalization and localization services and software