X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/38615191e71744b066425e0c44412b62dbe49cc2..4dc32bd4c12c4bdba806e91d0319ea677cd87362:/uip/rmf.c diff --git a/uip/rmf.c b/uip/rmf.c index c3dcc919..bb03805a 100644 --- a/uip/rmf.c +++ b/uip/rmf.c @@ -2,8 +2,6 @@ /* * rmf.c -- remove a folder * - * $Id$ - * * This code is Copyright (c) 2002, by the authors of nmh. See the * COPYRIGHT file in the root directory of the nmh distribution for * complete copyright information. @@ -11,17 +9,19 @@ #include -static struct swit switches[] = { -#define INTRSW 0 - { "interactive", 0 }, -#define NINTRSW 1 - { "nointeractive", 0 }, -#define VERSIONSW 2 - { "version", 0 }, -#define HELPSW 3 - { "help", 0 }, - { NULL, 0 } -}; +#define RMF_SWITCHES \ + X("interactive", 0, INTRSW) \ + X("nointeractive", 0, NINTRSW) \ + X("version", 0, VERSIONSW) \ + X("help", 0, HELPSW) \ + +#define X(sw, minchars, id) id, +DEFINE_SWITCH_ENUM(RMF); +#undef X + +#define X(sw, minchars, id) { sw, minchars, id }, +DEFINE_SWITCH_ARRAY(RMF, switches); +#undef X /* * static prototypes @@ -37,13 +37,7 @@ main (int argc, char **argv) char *cp, *folder = NULL, newfolder[BUFSIZ]; char buf[BUFSIZ], **argp, **arguments; -#ifdef LOCALE - setlocale(LC_ALL, ""); -#endif - invo_name = r1bindex (argv[0], '/'); - - /* read user profile/context */ - context_read(); + if (nmh_init(argv[0], 1)) { return 1; } arguments = getarguments (invo_name, argc, argv, 1); argp = arguments; @@ -61,10 +55,10 @@ main (int argc, char **argv) snprintf (buf, sizeof(buf), "%s [+folder] [switches]", invo_name); print_help (buf, switches, 1); - done (1); + done (0); case VERSIONSW: print_version(invo_name); - done (1); + done (0); case INTRSW: interactive = 1; @@ -171,13 +165,6 @@ rmf (char *folder) continue; /* else fall */ case ',': -#ifdef MHE - case '+': -#endif /* MHE */ -#ifdef UCI - case '_': - case '#': -#endif /* UCI */ break; default: @@ -192,7 +179,7 @@ rmf (char *folder) others++; continue; } - if (unlink (dp->d_name) == NOTOK) { + if (m_unlink (dp->d_name) == NOTOK) { admonish (dp->d_name, "unable to unlink %s:", folder); others++; }