diff options
author | Nicolas Rachinsky <nicolas@dauerreden.de> | 2002-09-09 19:29:23 +0000 |
---|---|---|
committer | Nicolas Rachinsky <nicolas@dauerreden.de> | 2002-09-09 19:29:23 +0000 |
commit | 9786ef81a8c5fed02075ec51d1fbf8e15e8c215b (patch) | |
tree | 025b3b28cc769d432475496ce6f70d363b826814 /buffy.c | |
parent | f4af8ea13ba216e572b5d0c3741076bd589e46c2 (diff) |
An unmailboxes command. #1311.
Diffstat (limited to 'buffy.c')
-rw-r--r-- | buffy.c | 27 |
1 files changed, 26 insertions, 1 deletions
@@ -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)); |