/*
* 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.
if (folder)
adios (NULL, "only one folder at a time!");
else
- folder = path (cp + 1, *cp == '+' ? TFOLDER : TSUBCWF);
+ folder = pluspath (cp);
} else {
adios (NULL, "usage: %s [+folder] [switches]", invo_name);
}
free (cp);
}
- if (rmf (folder) == OK && strcmp (context_find (pfolder), newfolder)) {
- printf ("[+%s now current]\n", newfolder);
- context_replace (pfolder, newfolder); /* update current folder */
+ if (rmf (folder) == OK) {
+ char *cfolder = context_find(pfolder);
+ if (cfolder && strcmp (cfolder, newfolder)) {
+ printf ("[+%s now current]\n", newfolder);
+ context_replace (pfolder, newfolder); /* update current folder */
+ }
}
context_save (); /* save the context file */
- return done (0);
+ done (0);
+ return 1;
}
static int
adios (NULL, "unable to read folder +%s", folder);
others = 0;
- j = strlen(BACKUP_PREFIX);
+ /*
+ * Run the external delete hook program.
+ */
+
+ (void)ext_hook("del-hook", maildir, (char *)0);
+
+ j = strlen(backup_prefix);
while ((dp = readdir (dd))) {
switch (dp->d_name[0]) {
case '.':
if (m_atoi (dp->d_name))
break;
if (strcmp (dp->d_name, LINK) == 0
- || strncmp (dp->d_name, BACKUP_PREFIX, j) == 0)
+ || strncmp (dp->d_name, backup_prefix, j) == 0)
break;
admonish (NULL, "file \"%s/%s\" not deleted",
register char *cp;
register struct node *np, *pp;
- /* sanity check - check that context has been read */
- if (defpath == NULL)
- adios (NULL, "oops, context hasn't been read yet");
-
alen = strlen ("atr-");
plen = strlen (cp = m_mailpath (folder)) + 1;