-
-/*
- * rmf.c -- remove a folder
+/* rmf.c -- remove a folder
*
* This code is Copyright (c) 2002, by the authors of nmh. See the
* COPYRIGHT file in the root directory of the nmh distribution for
#include <h/mh.h>
#include <h/utils.h>
+#include "../sbr/m_maildir.h"
+#include "../sbr/m_mktemp.h"
#define RMF_SWITCHES \
X("interactive", 0, INTRSW) \
if (*cp == '+' || *cp == '@') {
if (folder)
adios (NULL, "only one folder at a time!");
- else
- folder = pluspath (cp);
+ folder = pluspath (cp);
} else {
adios (NULL, "usage: %s [+folder] [switches]", invo_name);
}
switch (i = chdir (maildir = m_maildir (folder))) {
case OK:
if (access (".", W_OK) != NOTOK && access ("..", W_OK) != NOTOK)
- break; /* fall otherwise */
+ break;
+ /* FALLTHRU */
case NOTOK:
snprintf (cur, sizeof(cur), "atr-%s-%s",
printf ("[+%s de-referenced]\n", folder);
return OK;
}
- advise (NULL, "you have no profile entry for the %s folder +%s",
+ inform("you have no profile entry for the %s folder +%s",
i == NOTOK ? "unreadable" : "read-only", folder);
return NOTOK;
}
case '.':
if (strcmp (dp->d_name, ".") == 0
|| strcmp (dp->d_name, "..") == 0)
- continue; /* else fall */
+ continue;
+ break;
case ',':
break;
if (m_atoi (dp->d_name))
break;
if (strcmp (dp->d_name, LINK) == 0
- || HasPrefix(dp->d_name, BACKUP_PREFIX))
+ || has_prefix(dp->d_name, BACKUP_PREFIX))
break;
- admonish (NULL, "file \"%s/%s\" not deleted",
+ inform("file \"%s/%s\" not deleted, continuing...",
folder, dp->d_name);
others++;
continue;
if (others == 0 && remdir (maildir))
return OK;
- advise (NULL, "folder +%s not removed", folder);
+ inform("folder +%s not removed", folder);
return NOTOK;
}
&& *(np->n_name + j) == '-'
&& strcmp (cp, np->n_name + j + 1) == 0) {
if (!np->n_context)
- admonish (NULL, "bug: context_del(key=\"%s\")", np->n_name);
+ inform("bug: context_del(key=\"%s\"), continuing...",
+ np->n_name);
if (pp) {
pp->n_next = np->n_next;
np = pp;