#include <h/mh.h>
#include <fcntl.h>
-#include <h/signals.h>
#include <h/mts.h>
#include <h/tws.h>
#include <h/mime.h>
#include <h/utils.h>
/* mhmisc.c */
-int part_ok (CT, int);
+int part_ok (CT);
int type_ok (CT, int);
void flush_errors (void);
#define LSTFMT1 "%4s %-5s %-24s %5s %s\n"
#define LSTFMT2a "%4d "
#define LSTFMT2b "%-5s %-24.24s "
+#define LSTFMT2bv "%-5s %-24s "
#define LSTFMT2c1 "%5lu"
#define LSTFMT2c2 "%4lu%c"
#define LSTFMT2c3 "huge "
#define LSTFMT2c4 " "
#define LSTFMT2d1 " %.36s"
-#define LSTFMT2d2 "\t %-65.65s\n"
+#define LSTFMT2d1v " %s"
+#define LSTFMT2d2 "\t %-65s\n"
/*
return list_content (ct, toplevel, realsize, verbose, debug, dispo);
case CT_APPLICATION:
+ default:
return list_application (ct, toplevel, realsize, verbose, debug,
dispo);
-
- default:
- /* list_debug (ct); */
- adios (NULL, "unknown content type %d", ct->c_type);
}
return 0; /* NOT REACHED */
snprintf (buffer, sizeof(buffer), "%s/%s", empty (ci->ci_type),
empty (ci->ci_subtype));
- printf (LSTFMT2b, empty (ct->c_partno), buffer);
+ if (verbose)
+ printf (LSTFMT2bv, empty (ct->c_partno), buffer);
+ else
+ printf (LSTFMT2b, empty (ct->c_partno), buffer);
if (ct->c_cesizefnx && realsize)
size = (*ct->c_cesizefnx) (ct);
size = ct->c_end - ct->c_begin;
/* find correct scale for size (Kilo/Mega/Giga/Tera) */
- for (cp = " KMGT"; size > 9999; size >>= 10)
+ for (cp = " KMGT"; size > 9999; size /= 1000)
if (!*++cp)
break;
char *dp;
dp = cpytrim (ct->c_descr);
- printf (LSTFMT2d1, dp);
+ if (verbose)
+ printf (LSTFMT2d1v, dp);
+ else
+ printf (LSTFMT2d1, dp);
free (dp);
}
}
if (dispo && ct->c_dispo_type) {
- printf (LSTFMT2d2, ct->c_dispo_type);
- printf ("\n");
+ printf ("\t disposition \"%s\"\n", ct->c_dispo_type);
if (verbose) {
for (pm = ct->c_dispo_first; pm; pm = pm->pm_next) {
for (part = m->mp_parts; part; part = part->mp_next) {
CT p = part->mp_part;
- if (part_ok (p, 1) && type_ok (p, 1))
+ if (part_ok (p) && type_ok (p, 1))
list_switch (p, 0, realsize, verbose, debug, dispo);
}