Disallow folder names ending with a space on Windows.
authorAndrej Kacian <ticho@claws-mail.org>
Fri, 22 Apr 2016 11:31:41 +0000 (13:31 +0200)
committerAndrej Kacian <ticho@claws-mail.org>
Fri, 22 Apr 2016 11:31:41 +0000 (13:31 +0200)
Closes bug #2781.

src/folder.c
src/plugins/rssyl/rssyl_subscribe.c

index bf286b3..2b4dbe0 100644 (file)
@@ -4820,6 +4820,10 @@ gboolean folder_local_name_ok(const gchar *name)
                alertpanel_error(_("A folder name cannot begin or end with a dot."));
                return FALSE;
        }
+       if (name[strlen(name) - 1] == ' ') {
+               alertpanel_error(_("A folder name can not end with a space."));
+               return FALSE;
+       }
 #endif
 
        return TRUE;
index f80ec82..d68f4ce 100644 (file)
@@ -129,11 +129,14 @@ gboolean rssyl_subscribe(FolderItem *parent, const gchar *url,
        tmpname2 = g_strdup(tmpname);
 
 #ifdef G_OS_WIN32
-       /* Windows does not allow its filenames to start or end with a dot. */
+       /* Windows does not allow its filenames to start or end with a dot,
+        * or to end with a space. */
        if (tmpname2[0] == '.')
                tmpname2[0] = "_";
        if (tmpname2[strlen(tmpname2) - 1] == '.')
                tmpname2[strlen(tmpname2) - 1] = '_';
+       if (tmpname2[strlen(tmpname2) - 1] == ' ')
+               tmpname2[strlen(tmpname2) - 1] == '_';
 #endif
 
        while (folder_find_child_item_by_name(parent, tmpname2) != 0 && i < 20) {