switch (ct->c_type) {
case CT_MULTIPART:
return list_multi (ct, toplevel, realsize, verbose, debug);
- break;
case CT_MESSAGE:
switch (ct->c_subtype) {
case MESSAGE_PARTIAL:
return list_partial (ct, toplevel, realsize, verbose, debug);
- break;
case MESSAGE_EXTERNAL:
return list_external (ct, toplevel, realsize, verbose, debug);
- break;
case MESSAGE_RFC822:
default:
return list_content (ct, toplevel, realsize, verbose, debug);
- break;
}
- break;
case CT_TEXT:
case CT_AUDIO:
case CT_IMAGE:
case CT_VIDEO:
return list_content (ct, toplevel, realsize, verbose, debug);
- break;
case CT_APPLICATION:
return list_application (ct, toplevel, realsize, verbose, debug);
- break;
default:
/* list_debug (ct); */
adios (NULL, "unknown content type %d", ct->c_type);
- break;
}
return 0; /* NOT REACHED */
char *cp, buffer[BUFSIZ];
CI ci = &ct->c_ctinfo;
- printf (toplevel > 0 ? LSTFMT2a : toplevel < 0 ? "part " : " ",
- atoi (r1bindex (empty (ct->c_file), '/')));
+ if (toplevel > 0)
+ printf (LSTFMT2a, atoi (r1bindex (empty (ct->c_file), '/')));
+ else
+ printf(toplevel < 0 ? "part " : " ");
+
snprintf (buffer, sizeof(buffer), "%s/%s", empty (ci->ci_type),
empty (ci->ci_subtype));
printf (LSTFMT2b, empty (ct->c_partno), buffer);
printf ("\n");
if (verbose) {
- char **ap, **ep;
CI ci = &ct->c_ctinfo;
+ PM pm;
- for (ap = ci->ci_attrs, ep = ci->ci_values; *ap; ap++, ep++)
- printf ("\t %s=\"%s\"\n", *ap, *ep);
+ for (pm = ci->ci_first_pm; pm; pm = pm->pm_next) {
+ printf ("\t %s=\"%s\"\n", pm->pm_name,
+ get_param_value(pm, '?'));
+ }
/*
* If verbose, print any RFC-822 comments in the
static int
list_debug (CT ct)
{
- char **ap, **ep;
CI ci = &ct->c_ctinfo;
+ PM pm;
fflush (stdout);
fprintf (stderr, " partno \"%s\"\n", empty (ct->c_partno));
/* print parsed parameters attached to content type */
fprintf (stderr, " parameters\n");
- for (ap = ci->ci_attrs, ep = ci->ci_values; *ap; ap++, ep++)
- fprintf (stderr, " %s=\"%s\"\n", *ap, *ep);
+ for (pm = ci->ci_first_pm; pm; pm = pm->pm_next)
+ fprintf (stderr, " %s=\"%s\"\n", pm->pm_name,
+ get_param_value(pm, '?'));
/* print internal flags for type/subtype */
fprintf (stderr, " type 0x%x subtype 0x%x params 0x%x\n",