Silly of me to overlook it: another obvious way you might like to
[sgt/charset] / mimeenc.c
index 34066dd..ac8c9a4 100644 (file)
--- a/mimeenc.c
+++ b/mimeenc.c
@@ -40,6 +40,13 @@ static const struct {
     { "csASCII", CS_ASCII },
     { "646", CS_ASCII },              /* WILD */
 
+    { "BS_4730", CS_BS4730 },
+    { "iso-ir-4", CS_BS4730 },
+    { "ISO646-GB", CS_BS4730 },
+    { "gb", CS_BS4730 },
+    { "uk", CS_BS4730 },
+    { "csISO4UnitedKingdom", CS_BS4730 },
+
     { "ISO-8859-1", CS_ISO8859_1 },
     { "ISO8859-1", CS_ISO8859_1 },     /* WILD */
     { "iso-ir-100", CS_ISO8859_1 },
@@ -169,6 +176,18 @@ static const struct {
     { "850", CS_CP850 },
     { "csPC850Multilingual", CS_CP850 },
 
+    { "IBM852", CS_CP852 },
+    { "cp852", CS_CP852 },
+    { "852", CS_CP852 },
+    { "csIBM852", CS_CP852 },
+
+    { "IBM866", CS_CP866 },
+    { "cp866", CS_CP866 },
+    { "866", CS_CP866 },
+    { "csIBM866", CS_CP866 },
+
+    { "windows-874", CS_CP874 },       /* WILD */
+
     { "windows-1250", CS_CP1250 },
     { "win-1250", CS_CP1250 },        /* WILD */
 
@@ -258,6 +277,7 @@ static const struct {
     { "Shift_JIS", CS_SHIFT_JIS },
     { "MS_Kanji", CS_SHIFT_JIS },
     { "csShiftJIS", CS_SHIFT_JIS },
+    { "x-sjis", CS_SHIFT_JIS },               /* WILD */
 
     { "HZ-GB-2312", CS_HZ },
 
@@ -309,7 +329,7 @@ int charset_from_mimeenc(const char *name)
        p = name;
        q = mimeencs[i].name;
        while (*p || *q) {
-           if (tolower(*p) != tolower(*q))
+               if (tolower((unsigned char)*p) != tolower((unsigned char)*q))
                break;
            p++; q++;
        }