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);