<p><pre><code>    1     wchar_t *
    2     utf2wide(const char *utf)
    3     {
    4        size_t len;
    5        wchar_t *wide;
    6        len = mbstowcs(NULL, utf, 0);
    7        wide = malloc(sizeof(*wide) * (len + 1));
    8        mbstowcs(wide, utf, len);
    9        return wide;
    10     }</code></pre>