X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=unix%2Fuxucs.c;h=86cc33d4f5883573e671ccba74d21706230eab5c;hb=095072fa46b2d7b8beafaddb2f873d2f500a1e10;hp=9d8242f8b1876412d35b7b38015958bf15383c84;hpb=7fc8db15b262ba644b1c7f8e9b89cc5a86f104f2;p=PuTTY.git diff --git a/unix/uxucs.c b/unix/uxucs.c index 9d8242f8..86cc33d4 100644 --- a/unix/uxucs.c +++ b/unix/uxucs.c @@ -57,7 +57,7 @@ int mb_to_wc(int codepage, int flags, const char *mbstr, int mblen, } int wc_to_mb(int codepage, int flags, const wchar_t *wcstr, int wclen, - char *mbstr, int mblen, char *defchr, int *defused, + char *mbstr, int mblen, const char *defchr, int *defused, struct unicode_data *ucsdata) { /* FIXME: we should remove the defused param completely... */ @@ -253,17 +253,19 @@ const char *cp_name(int codepage) const char *cp_enumerate(int index) { int charset; - if (index == 0) - return "Use font encoding"; - charset = charset_localenc_nth(index-1); - if (charset == CS_NONE) + charset = charset_localenc_nth(index); + if (charset == CS_NONE) { + /* "Use font encoding" comes after all the named charsets */ + if (charset_localenc_nth(index-1) != CS_NONE) + return "Use font encoding"; return NULL; + } return charset_to_localenc(charset); } int decode_codepage(char *cp_name) { - if (!*cp_name) - return CS_NONE; /* use font encoding */ + if (!cp_name || !*cp_name) + return CS_UTF8; return charset_from_localenc(cp_name); }