ref: b143811a53bf25824e74b7e6e6c2ee7af8c7a954
dir: /sys/src/cmd/upas/common/fmt.c/
#include "common.h" int rfc2047fmt(Fmt *fmt) { char *s, *p; s = va_arg(fmt->args, char*); if(s == nil) return fmtstrcpy(fmt, ""); for(p=s; *p; p++) if((uchar)*p >= 0x80) goto hard; return fmtstrcpy(fmt, s); hard: fmtprint(fmt, "=?utf-8?q?"); for(p = s; *p; p++){ if(*p == ' ') fmtrune(fmt, '_'); else if(*p == '_' || *p == '\t' || *p == '=' || *p == '?' || (uchar)*p >= 0x80) fmtprint(fmt, "=%.2uX", (uchar)*p); else fmtrune(fmt, (uchar)*p); } fmtprint(fmt, "?="); return 0; } void mailfmtinstall(void) { fmtinstall('U', rfc2047fmt); }