wcsdup is the wide-character equivalent of strdup. It allocates and returns a new wide-character string whose initial contents is a duplicate of the wide-character string s.
Memory for the new wide-character string is obtained with malloc(3), and can be freed with free(3).