]> asedeno.scripts.mit.edu Git - PuTTY.git/blobdiff - unix/uxucs.c
Implement deferred closing of Windows handle-sockets.
[PuTTY.git] / unix / uxucs.c
index 9d8242f8b1876412d35b7b38015958bf15383c84..86cc33d4f5883573e671ccba74d21706230eab5c 100644 (file)
@@ -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);
 }