Added utf16dup(). Completely forgot about this.

This commit is contained in:
Pietro Gagliardi 2016-04-22 13:01:55 -04:00
parent 277fa5d6bd
commit 57fbea1f3e
2 changed files with 13 additions and 0 deletions

View File

@ -11,6 +11,7 @@ extern void issueWM_WININICHANGE(WPARAM wParam, LPARAM lParam);
#define emptyUTF8() ((char *) uiAlloc(1 * sizeof (char), "char[]"))
extern WCHAR *toUTF16(const char *str);
extern char *toUTF8(const WCHAR *wstr);
extern WCHAR *utf16dup(const WCHAR *orig);
extern WCHAR *strf(const WCHAR *format, ...);
extern WCHAR *vstrf(const WCHAR *format, va_list ap);
extern WCHAR *debugstrf(const WCHAR *format, ..);

View File

@ -49,6 +49,18 @@ char *toUTF8(const WCHAR *wstr)
return str;
}
WCHAR *utf16dup(const WCHAR *orig)
{
WCHAR *out;
size_t len;
len = wcslen(orig);
out = (WCHAR *) uiAlloc((len + 1) * sizeof (WCHAR), "WCHAR[]");
// TODO safer version
wcscpy(out, orig);
return out;
}
// if recursing is TRUE, do NOT recursively call wstrf() in logHRESULT()
static WCHAR *strfcore(BOOL recursing, WCHAR *format, va_list ap)
{