]> granicus.if.org Git - neomutt/commitdiff
Call mutt_expand_path() from mutt_buffy to fix imap separator.
authorAron Griffis <agriffis@n01se.net>
Tue, 21 Apr 2009 19:06:59 +0000 (15:06 -0400)
committerAron Griffis <agriffis@n01se.net>
Tue, 21 Apr 2009 19:06:59 +0000 (15:06 -0400)
Closes #3208 and #3218

Signed-off-by: Aron Griffis <agriffis@n01se.net>
buffy.c
buffy.h

diff --git a/buffy.c b/buffy.c
index 321ca98a35845a68a9dddf4e4b908dad4f2f7ab9..0e100e8d3c3565df389ad0af9c2a9c8ca243bac9 100644 (file)
--- a/buffy.c
+++ b/buffy.c
@@ -206,7 +206,6 @@ int mutt_parse_mailboxes (BUFFER *path, BUFFER *s, unsigned long data, BUFFER *e
     {
       for (tmp = &Incoming; *tmp;)
       {
-        FREE (&((*tmp)->path));
         tmp1=(*tmp)->next;
         FREE (tmp);            /* __FREE_CHECKED__ */
         *tmp=tmp1;
@@ -241,7 +240,7 @@ int mutt_parse_mailboxes (BUFFER *path, BUFFER *s, unsigned long data, BUFFER *e
     if (!*tmp)
     {
       *tmp = (BUFFY *) safe_calloc (1, sizeof (BUFFY));
-      (*tmp)->path = safe_strdup (buf);
+      strfcpy ((*tmp)->path, buf, sizeof ((*tmp)->path));
       (*tmp)->next = NULL;
       /* it is tempting to set magic right here */
       (*tmp)->magic = 0;
@@ -505,7 +504,7 @@ int mutt_buffy_notify (void)
  * mutt_buffy() -- incoming folders completion routine
  *
  * given a folder name, this routine gives the next incoming folder with new
- * new mail.
+ * mail.
  */
 void mutt_buffy (char *s, size_t slen)
 {
@@ -530,6 +529,7 @@ void mutt_buffy (char *s, size_t slen)
       mutt_buffy_check (1); /* buffy was wrong - resync things */
       break;
     }
+    mutt_expand_path (tmp->path, sizeof (tmp->path));
     strfcpy (s, tmp->path, slen);
     mutt_pretty_mailbox (s, slen);
     break;
@@ -539,6 +539,7 @@ void mutt_buffy (char *s, size_t slen)
     count = 0;
     while (count < 3)
     {
+      mutt_expand_path (tmp->path, sizeof (tmp->path));
       if (mutt_strcmp (s, tmp->path) == 0)
        count++;
       else if (count && tmp->new)
diff --git a/buffy.h b/buffy.h
index 7bf06d05f89499be341f6595c13bb069c3df2dd9..d7ff3b4fa896f5d8e65c8a9ca5fbe54549056f6c 100644 (file)
--- a/buffy.h
+++ b/buffy.h
@@ -22,7 +22,7 @@
 
 typedef struct buffy_t
 {
-  char *path;
+  char path[_POSIX_PATH_MAX];
   off_t size;
   struct buffy_t *next;
   short new;                   /* mailbox has new mail */