Silly of me to overlook it: another obvious way you might like to
[sgt/charset] / xenc.c
diff --git a/xenc.c b/xenc.c
index 351802a..1b77be7 100644 (file)
--- a/xenc.c
+++ b/xenc.c
@@ -48,6 +48,8 @@ static const struct {
     { "koi8-u", CS_KOI8_U },
     { "ibm-cp437", CS_CP437 },
     { "ibm-cp850", CS_CP850 },
+    { "ibm-cp852", CS_CP852 },
+    { "ibm-cp866", CS_CP866 },
     { "microsoft-cp1250", CS_CP1250 },
     { "microsoft-cp1251", CS_CP1251 },
     { "microsoft-cp1252", CS_CP1252 },
@@ -82,7 +84,7 @@ int charset_from_xenc(const char *name)
        p = name;
        q = xencs[i].name;
        while (*p || *q) {
-           if (tolower(*p) != tolower(*q))
+               if (tolower((unsigned char)*p) != tolower((unsigned char)*q))
                break;
            p++; q++;
        }