This just copies the short char into the wide char without any decoding whatsoever. A proper implementation should look at the current LC_CTYPE and implement multi-byte decoding.