The
wcsdup() function allocates sufficient memory for a copy of the wide character string
str, does the copy, and returns a pointer to it. The pointer may subsequently be used as an argument to the function
free(3).
If insufficient memory is available,
NULL is returned.