Move #include from h/mh.h to source files
[mmh] / uip / rmf.c
index 043ecd6..615369c 100644 (file)
--- a/uip/rmf.c
+++ b/uip/rmf.c
@@ -7,14 +7,17 @@
 */
 
 #include <h/mh.h>
+#include <unistd.h>
+#include <dirent.h>
+#include <locale.h>
 
 static struct swit switches[] = {
 #define INTRSW  0
        { "interactive", 0 },
 #define NINTRSW  1
-       { "nointeractive", 0 },
+       { "nointeractive", 2 },
 #define VERSIONSW  2
-       { "version", 0 },
+       { "Version", 0 },
 #define HELPSW  3
        { "help", 0 },
        { NULL, 0 }
@@ -34,9 +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 = mhbasename(argv[0]);
 
        /* read user profile/context */
@@ -50,17 +51,17 @@ main(int argc, char **argv)
                        switch (smatch(++cp, switches)) {
                        case AMBIGSW:
                                ambigsw(cp, switches);
-                               done(1);
+                               exit(1);
                        case UNKWNSW:
                                adios(NULL, "-%s unknown", cp);
 
                        case HELPSW:
                                snprintf(buf, sizeof(buf), "%s [+folder] [switches]", invo_name);
                                print_help(buf, switches, 1);
-                               done(1);
+                               exit(0);
                        case VERSIONSW:
                                print_version(invo_name);
-                               done(1);
+                               exit(0);
 
                        case INTRSW:
                                interactive = 1;
@@ -107,7 +108,7 @@ main(int argc, char **argv)
        if (interactive) {
                cp = concat("Remove folder \"", folder, "\"? ", NULL);
                if (!getanswer(cp))
-                       done(0);
+                       exit(0);
                free(cp);
        }
 
@@ -120,14 +121,13 @@ main(int argc, char **argv)
                }
        }
        context_save();  /* save the context file */
-       done(0);
-       return 1;
+       return 0;
 }
 
 static int
 rmf(char *folder)
 {
-       int i, j, others;
+       int i, others;
        register char *maildir;
        char cur[BUFSIZ];
        register struct dirent *dp;
@@ -161,7 +161,6 @@ rmf(char *folder)
 
        ext_hook("del-hook", maildir, NULL);
 
-       j = strlen(backup_prefix);
        while ((dp = readdir(dd))) {
                switch (dp->d_name[0]) {
                case '.':
@@ -170,18 +169,11 @@ rmf(char *folder)
                                continue;  /* else fall */
 
                case ',':
-#ifdef MHE
-               case '+':
-#endif /* MHE */
                        break;
 
                default:
                        if (m_atoi(dp->d_name))
                                break;
-                       if (strcmp(dp->d_name, altmsglink) == 0 ||
-                                       strncmp(dp->d_name,
-                                       backup_prefix, j) == 0)
-                               break;
 
                        admonish(NULL, "file \"%s/%s\" not deleted",
                                        folder, dp->d_name);