static int
InitText(CT ct)
{
- char buffer[BUFSIZ];
- char *chset = NULL;
- char **ap, **ep, *cp;
+ char **ap, **ep;
struct k2v *kv;
struct text *t;
CI ci = &ct->c_ctinfo;
/* check if content specified a character set */
if (*ap) {
+ /* store its name */
+ ct->c_charset = getcpy(norm_charmap(*ep));
/* match character set or set to CHARSET_UNKNOWN */
for (kv = Charset; kv->kv_key; kv++) {
if (!mh_strcasecmp(*ep, kv->kv_key)) {
- chset = *ep;
break;
}
}
t->tx_charset = CHARSET_UNSPECIFIED;
}
- /*
- ** If we can not handle character set natively,
- ** then check profile for string to modify the
- ** terminal or display method.
- **
- ** termproc is for mhshow, though mhlist -debug prints it, too.
- */
- if (chset != NULL && !check_charset(chset, strlen(chset))) {
- snprintf(buffer, sizeof(buffer), "%s-charset-%s",
- invo_name, chset);
- if ((cp = context_find(buffer)))
- ct->c_termproc = getcpy(cp);
- }
-
return OK;
}