X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/dd1c5703125bb10f78add2488ce32e83c523cfbb..4dff00a2d1a9e0b1e301c3015d8f7bdf87e2e37a:/uip/mhstore.c?ds=sidebyside diff --git a/uip/mhstore.c b/uip/mhstore.c index fa30e035..cd84aeef 100644 --- a/uip/mhstore.c +++ b/uip/mhstore.c @@ -20,43 +20,30 @@ #include #include -static struct swit switches[] = { -#define AUTOSW 0 - { "auto", 0 }, -#define NAUTOSW 1 - { "noauto", 0 }, -#define CHECKSW 2 - { "check", 0 }, -#define NCHECKSW 3 - { "nocheck", 0 }, -#define VERBSW 4 - { "verbose", 0 }, -#define NVERBSW 5 - { "noverbose", 0 }, -#define FILESW 6 /* interface from show */ - { "file file", 0 }, -#define PARTSW 7 - { "part number", 0 }, -#define TYPESW 8 - { "type content", 0 }, -#define RCACHESW 9 - { "rcache policy", 0 }, -#define WCACHESW 10 - { "wcache policy", 0 }, -#define VERSIONSW 11 - { "version", 0 }, -#define HELPSW 12 - { "help", 0 }, -#define CLOBBERSW 13 - { "clobber always|auto|suffix|ask|never", 0 }, - -/* - * switches for debugging - */ -#define DEBUGSW 14 - { "debug", -5 }, - { NULL, 0 } -}; +#define MHSTORE_SWITCHES \ + X("auto", 0, AUTOSW) \ + X("noauto", 0, NAUTOSW) \ + X("check", 0, CHECKSW) \ + X("nocheck", 0, NCHECKSW) \ + X("verbose", 0, VERBSW) \ + X("noverbose", 0, NVERBSW) \ + X("file file", 0, FILESW) /* interface from show */ \ + X("part number", 0, PARTSW) \ + X("type content", 0, TYPESW) \ + X("rcache policy", 0, RCACHESW) \ + X("wcache policy", 0, WCACHESW) \ + X("version", 0, VERSIONSW) \ + X("help", 0, HELPSW) \ + X("clobber always|auto|suffix|ask|never", 0, CLOBBERSW) \ + X("debug", -5, DEBUGSW) \ + +#define X(sw, minchars, id) id, +DEFINE_SWITCH_ENUM(MHSTORE); +#undef X + +#define X(sw, minchars, id) { sw, minchars, id }, +DEFINE_SWITCH_ARRAY(MHSTORE, switches); +#undef X int save_clobber_policy (const char *); @@ -99,7 +86,6 @@ void flush_errors (void); void store_all_messages (CT *); /* mhfree.c */ -void free_content (CT); extern CT *cts; void freects_done (int) NORETURN; @@ -318,7 +304,7 @@ do_cache: adios (maildir, "unable to change directory to"); /* read folder and create message structure */ - if (!(mp = folder_read (folder))) + if (!(mp = folder_read (folder, 1))) adios (NULL, "unable to read folder %s", folder); /* check for empty folder */ @@ -397,7 +383,6 @@ static void pipeser (int i) { if (i == SIGQUIT) { - unlink ("core"); fflush (stdout); fprintf (stderr, "\n"); fflush (stderr);