char *make_string_var_bydata (int type, void *vp) { char *ret = (char *) 0; VARIABLE *data = (VARIABLE *)vp; switch (type) { case STR_VAR: if (data->string) ret = malloc_strdup(data->string); break; case INT_VAR: ret = malloc_strdup(ltoa(data->integer)); break; case BOOL_VAR: ret = malloc_strdup(var_settings[data->integer]); break; case CHAR_VAR: { char utf8str[16]; ucs_to_utf8(data->integer, utf8str, sizeof(utf8str)); ret = malloc_strdup(utf8str); break; } default: panic(1, "make_string_var_bydata: unrecognized type [%d]", type); } return (ret); }
std::basic_string<char> mbcs_to_utf8(const std::basic_string<char>& s, const std::locale& loc) { return ucs_to_utf8(mbcs_to_ucs(s, loc)); }
std::basic_string<char> mbcs_to_utf8(const std::basic_string<char>& s) { return ucs_to_utf8(mbcs_to_ucs(s)); }