X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=include%2Fvlc_charset.h;h=8674aeed8e2b446657f5f7345f43b13f7990e9b9;hb=b9c5a440d6458b9b2e50450293b9aa3e20865ad6;hp=aaa9d58a6526d891d5a8cd10524a7debd10b24dd;hpb=d601e4ed290edf58e9ace5c28f06c77ebf072004;p=vlc diff --git a/include/vlc_charset.h b/include/vlc_charset.h index aaa9d58a65..8674aeed8e 100644 --- a/include/vlc_charset.h +++ b/include/vlc_charset.h @@ -54,10 +54,24 @@ static inline char *FromWide (const wchar_t *wide) char *out = (char *)malloc (len); - if (out) + if (likely(out)) WideCharToMultiByte (CP_UTF8, 0, wide, -1, out, len, NULL, NULL); return out; } + +LIBVLC_USED +static inline wchar_t *ToWide (const char *utf8) +{ + int len = MultiByteToWideChar (CP_UTF8, 0, utf8, -1, NULL, 0); + if (len == 0) + return NULL; + + wchar_t *out = (wchar_t *)malloc (len * sizeof (wchar_t)); + + if (likely(out)) + MultiByteToWideChar (CP_UTF8, 0, utf8, -1, out, len); + return out; +} #endif /**