+ case PREFERSW:
+ if (!(cp = *argp++) || *cp == '-')
+ die("missing argument to %s", argp[-2]);
+ if (npreferred >= NPREFS)
+ die("too many preferred types (starting with %s), %d max",
+ cp, NPREFS);
+ mime_preference[npreferred].type = cp;
+ cp = strchr(cp, '/');
+ if (cp) *cp++ = '\0';
+ mime_preference[npreferred++].subtype = cp;
+ continue;
+
+ case NPREFERSW:
+ npreferred = 0;
+ continue;
+