+ contentidsw = false;
+ continue;
+
+ case HEADERENCSW: {
+ int encoding;
+
+ if (!(cp = *argp++) || *cp == '-')
+ die("missing argument to %s", argp[-2]);
+ switch (encoding = smatch (cp, encodingswitches)) {
+ case AMBIGSW:
+ ambigsw (cp, encodingswitches);
+ done (1);
+ case UNKWNSW:
+ die("%s unknown encoding algorithm", cp);
+ case BASE64SW:
+ header_encoding = CE_BASE64;
+ break;
+ case QUOTEDPRINTSW:
+ header_encoding = CE_QUOTED;
+ break;
+ case UTF8SW:
+ header_encoding = CE_8BIT;
+ break;
+ default:
+ die("Internal error: algorithm %s", cp);
+ }
+ continue;
+ }
+
+ case AUTOHEADERENCSW:
+ header_encoding = CE_UNKNOWN;
+ continue;
+
+ case MAXUNENCSW:
+ if (!(cp = *argp++) || *cp == '-')
+ die("missing argument to %s", argp[-2]);
+ if ((maxunencoded = atoi(cp)) < 1)
+ die("Invalid argument for %s: %s", argp[-2], cp);
+ if (maxunencoded > 998)
+ die("limit of -maxunencoded is 998");