diff options
author | Thomas Roessler <roessler@does-not-exist.org> | 1998-12-07 10:05:07 +0000 |
---|---|---|
committer | Thomas Roessler <roessler@does-not-exist.org> | 1998-12-07 10:05:07 +0000 |
commit | 9bad2b2aa4954df74ccdc2fd7ea7fee6bb24d22c (patch) | |
tree | 23153ec99745fd7256807f56ac6fd9c8436a3c40 /rfc2047.c | |
parent | 0aaef6eff952354d2c08e2ea0d0196b46b0b64ae (diff) |
Don't tag us-ascii headers as $Charset or unknown-8bit.
Diffstat (limited to 'rfc2047.c')
-rw-r--r-- | rfc2047.c | 15 |
1 files changed, 13 insertions, 2 deletions
@@ -35,9 +35,20 @@ static void q_encode_string (char *d, size_t dlen, const unsigned char *s) char charset[SHORT_STRING]; size_t cslen, wordlen; char *wptr = d; + const unsigned char *t; + int hibit = 0; + + for(t = s; *t && !hibit; t++) + if(*t & 0x80) hibit = 1; + + if(hibit) + { + snprintf (charset, sizeof (charset), "=?%s?Q?", + mutt_strcasecmp ("us-ascii", Charset) == 0 ? "unknown-8bit" : NONULL(Charset)); + } + else + strfcpy(charset, "=?us-ascii?Q?", sizeof(charset)); - snprintf (charset, sizeof (charset), "=?%s?Q?", - mutt_strcasecmp ("us-ascii", Charset) == 0 ? "unknown-8bit" : NONULL(Charset)); cslen = mutt_strlen (charset); strcpy (wptr, charset); |