]> granicus.if.org Git - neomutt/commitdiff
trim trailing slash from completed dirs 720/head
authorRichard Russon <rich@flatcap.org>
Wed, 16 Aug 2017 12:47:57 +0000 (13:47 +0100)
committerRichard Russon <rich@flatcap.org>
Wed, 23 Aug 2017 08:26:04 +0000 (09:26 +0100)
When saving a email, selecting a maildir directory should override the
setting of $mbox_type.

Fixes #719

commands.c

index e97a2c509c51e8f209683883623b2cc362c699c5..2f9bbc883a0f1a26e9bfcc7e3db52ed7f2b46826 100644 (file)
@@ -801,9 +801,14 @@ int mutt_save_message(struct Header *h, int delete, int decode, int decrypt)
   if (mutt_enter_fname(prompt, buf, sizeof(buf), 0) == -1)
     return -1;
 
-  if (!buf[0])
+  size_t pathlen = strlen(buf);
+  if (pathlen == 0)
     return -1;
 
+  /* Trim any trailing '/' */
+  if (buf[pathlen - 1] == '/')
+    buf[pathlen - 1] = '\0';
+
   /* This is an undocumented feature of ELM pointed out to me by Felix von
    * Leitner <leitner@prz.fu-berlin.de>
    */
@@ -812,15 +817,6 @@ int mutt_save_message(struct Header *h, int delete, int decode, int decrypt)
   else
     strfcpy(LastSaveFolder, buf, sizeof(LastSaveFolder));
 
-  /* check if path is a filename by comparing last character
-   * (mboxes need filenames, not directories)
-   */
-  if (DefaultMagic == MUTT_MBOX && buf[strlen(buf) - 1] == '/')
-  {
-    mutt_error(_("'%s' is a directory, need a filename for mbox."), buf);
-    return -1;
-  }
-
   mutt_expand_path(buf, sizeof(buf));
 
   /* check to make sure that this file is really the one the user wants */