+ case PREFERSW:
+ if (!(cp = *argp++) || *cp == '-')
+ adios (NULL, "missing argument to %s", argp[-2]);
+ if (npreferred >= NPREFS)
+ adios (NULL, "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;
+