/* * Centralised Unicode-related helper functions, separate from misc.c * so that they can be omitted from tools that aren't including * Unicode handling. */ #include "putty.h" #include "misc.h" wchar_t *dup_mb_to_wc_c(int codepage, int flags, const char *string, int len) { int mult; for (mult = 1 ;; mult++) { wchar_t *ret = snewn(mult*len + 2, wchar_t); int outlen; outlen = mb_to_wc(codepage, flags, string, len, ret, mult*len + 1); if (outlen < mult*len+1) { ret[outlen] = L'\0'; return ret; } sfree(ret); } } wchar_t *dup_mb_to_wc(int codepage, int flags, const char *string) { return dup_mb_to_wc_c(codepage, flags, string, strlen(string)); }