From: Nicolas Rachinsky Date: Mon, 9 Sep 2002 19:29:23 +0000 (+0000) Subject: An unmailboxes command. #1311. X-Git-Tag: mutt-1-5-2-rel~60 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9786ef81a8c5fed02075ec51d1fbf8e15e8c215b;p=mutt An unmailboxes command. #1311. --- diff --git a/buffy.c b/buffy.c index 0a15c92a..660075d8 100644 --- a/buffy.c +++ b/buffy.c @@ -162,7 +162,7 @@ void mutt_update_mailbox (BUFFY * b) int mutt_parse_mailboxes (BUFFER *path, BUFFER *s, unsigned long data, BUFFER *err) { - BUFFY **tmp; + BUFFY **tmp,*tmp1; char buf[_POSIX_PATH_MAX]; #ifdef BUFFY_SIZE struct stat sb; @@ -172,6 +172,19 @@ int mutt_parse_mailboxes (BUFFER *path, BUFFER *s, unsigned long data, BUFFER *e { mutt_extract_token (path, s, 0); strfcpy (buf, path->data, sizeof (buf)); + + if(data == M_UNMAILBOXES && mutt_strcmp(buf,"*") == 0) + { + for (tmp = &Incoming; *tmp;) + { + safe_free((void **)&((*tmp)->path)); + tmp1=(*tmp)->next; + safe_free((void **)tmp); + *tmp=tmp1; + } + return 0; + } + mutt_expand_path (buf, sizeof (buf)); /* Skip empty tokens. */ @@ -184,6 +197,18 @@ int mutt_parse_mailboxes (BUFFER *path, BUFFER *s, unsigned long data, BUFFER *e break; } + if(data == M_UNMAILBOXES) + { + if(*tmp) + { + safe_free((void **)&((*tmp)->path)); + tmp1=(*tmp)->next; + safe_free((void **)tmp); + *tmp=tmp1; + } + continue; + } + if (!*tmp) { *tmp = (BUFFY *) safe_calloc (1, sizeof (BUFFY)); diff --git a/buffy.h b/buffy.h index f3e81952..adfc2695 100644 --- a/buffy.h +++ b/buffy.h @@ -16,6 +16,10 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. */ +/*parameter to mutt_parse_mailboxes*/ +#define M_MAILBOXES 1 +#define M_UNMAILBOXES 2 + typedef struct buffy_t { char *path; diff --git a/doc/manual.sgml.head b/doc/manual.sgml.head index dfb36a66..829151b1 100644 --- a/doc/manual.sgml.head +++ b/doc/manual.sgml.head @@ -1207,7 +1207,7 @@ mailbox). Defining mailboxes which receive mail