Add functions to convert wide char to UTF-8
There was already utf8_to_wide_char(), used to correctly execute commands on Windows. Add the reverse converter: utf8_from_wide_char(). We will need it to build the scrcpy-server path based on the executable directory.
This commit is contained in:
parent
4eb6b26c93
commit
3b17ff7c86
2 changed files with 19 additions and 0 deletions
|
@ -92,4 +92,20 @@ utf8_to_wide_char(const char *utf8) {
|
||||||
return wide;
|
return wide;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
char *
|
||||||
|
utf8_from_wide_char(const wchar_t *ws) {
|
||||||
|
int len = WideCharToMultiByte(CP_UTF8, 0, ws, -1, NULL, 0, NULL, NULL);
|
||||||
|
if (!len) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
char *utf8 = SDL_malloc(len);
|
||||||
|
if (!utf8) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
WideCharToMultiByte(CP_UTF8, 0, ws, -1, utf8, len, NULL, NULL);
|
||||||
|
return utf8;
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -32,6 +32,9 @@ utf8_truncation_index(const char *utf8, size_t max_len);
|
||||||
// returns the new allocated string, to be freed by the caller
|
// returns the new allocated string, to be freed by the caller
|
||||||
wchar_t *
|
wchar_t *
|
||||||
utf8_to_wide_char(const char *utf8);
|
utf8_to_wide_char(const char *utf8);
|
||||||
|
|
||||||
|
char *
|
||||||
|
utf8_from_wide_char(const wchar_t *s);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue