CVS: sylpheed-claws/src imap.c,1.179.2.110,1.179.2.111 imap.h,1.34.2.5,1.34.2.6 imap_gtk.c,1.1.2.29,1.1.2.30
Colin Leroy <[email protected]>
| Newsgroups | gmane.mail.sylpheed.claws.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/sylpheed-claws/sylpheed-claws/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30639a/src
Modified Files:
Tag: gtk2
imap.c imap.h imap_gtk.c
Log Message:
2006-05-03 [colin] 2.1.1cvs45
* src/imap.c
* src/imap.h
* src/imap_gtk.c
Fix preventing renaming with namespace
separator.
Index: imap.c
===================================================================
RCS file: /cvsroot/sylpheed-claws/sylpheed-claws/src/imap.c,v
retrieving revision 1.179.2.110
retrieving revision 1.179.2.111
diff -u -r1.179.2.110 -r1.179.2.111
--- imap.c 24 Apr 2006 17:01:06 -0000 1.179.2.110
+++ imap.c 3 May 2006 17:05:47 -0000 1.179.2.111
@@ -2248,6 +2248,24 @@
return NULL;
}
+gchar imap_get_path_separator_for_item(FolderItem *item)
+{
+ Folder *folder = NULL;
+ IMAPFolder *imap_folder = NULL;
+ if (!item)
+ return '/';
+ folder = item->folder;
+
+ if (!folder)
+ return '/';
+
+ imap_folder = IMAP_FOLDER(folder);
+
+ if (!imap_folder)
+ return '/';
+
+ return imap_get_path_separator(imap_folder, item->path);
+}
static gchar imap_get_path_separator(IMAPFolder *folder, const gchar *path)
{
@@ -4259,6 +4277,11 @@
return -1;
}
+gchar imap_get_path_separator_for_item(FolderItem *item)
+{
+ return '/';
+}
+
FolderClass *imap_get_class(void)
{
if (imap_class.idstr == NULL) {
Index: imap.h
===================================================================
RCS file: /cvsroot/sylpheed-claws/sylpheed-claws/src/imap.h,v
retrieving revision 1.34.2.5
retrieving revision 1.34.2.6
diff -u -r1.34.2.5 -r1.34.2.6
--- imap.h 20 Apr 2006 16:46:32 -0000 1.34.2.5
+++ imap.h 3 May 2006 17:05:47 -0000 1.34.2.6
@@ -33,5 +33,6 @@
guint imap_folder_get_refcnt(Folder *folder);
void imap_folder_ref(Folder *folder);
void imap_folder_unref(Folder *folder);
+gchar imap_get_path_separator_for_item (FolderItem *item);
#endif /* __IMAP_H__ */
Index: imap_gtk.c
===================================================================
RCS file: /cvsroot/sylpheed-claws/sylpheed-claws/src/imap_gtk.c,v
retrieving revision 1.1.2.29
retrieving revision 1.1.2.30
diff -u -r1.1.2.29 -r1.1.2.30
--- imap_gtk.c 16 Jan 2006 10:43:57 -0000 1.1.2.29
+++ imap_gtk.c 3 May 2006 17:05:47 -0000 1.1.2.30
@@ -121,7 +121,8 @@
gchar *new_folder;
gchar *name;
gchar *p;
-
+ gchar separator = '/';
+
if (!folderview->selected) return;
item = gtk_ctree_node_get_row_data(ctree, folderview->selected);
@@ -138,10 +139,18 @@
if (!new_folder) return;
AUTORELEASE_STR(new_folder, {g_free(new_folder); return;});
- p = strchr(new_folder, G_DIR_SEPARATOR);
+ separator = imap_get_path_separator_for_item(item);
+
+ p = strchr(new_folder, separator);
if (p && *(p + 1) != '\0') {
alertpanel_error(_("'%c' can't be included in folder name."),
- G_DIR_SEPARATOR);
+ separator);
+ return;
+ }
+ p = strchr(new_folder, '/');
+ if (p && *(p + 1) != '\0') {
+ alertpanel_error(_("'%c' can't be included in folder name."),
+ '/');
return;
}
@@ -173,6 +182,7 @@
gchar *old_id;
gchar *new_id;
gchar *base;
+ gchar separator = '/';
item = folderview_get_selected_item(folderview);
g_return_if_fail(item != NULL);
@@ -189,14 +199,18 @@
if (!new_folder) return;
AUTORELEASE_STR(new_folder, {g_free(new_folder); return;});
-/*
- TODO: check new name for IMAP namespace separator
- if (strchr(new_folder, G_DIR_SEPARATOR) != NULL) {
+ separator = imap_get_path_separator_for_item(item);
+ if (strchr(new_folder, separator) != NULL) {
alertpanel_error(_("`%c' can't be included in folder name."),
- G_DIR_SEPARATOR);
+ separator);
return;
}
-*/
+ if (strchr(new_folder, '/') != NULL) {
+ alertpanel_error(_("`%c' can't be included in folder name."),
+ '/');
+ return;
+ }
+
if (folder_find_child_item_by_name(folder_item_parent(item), new_folder)) {
name = trim_string(new_folder, 32);
alertpanel_error(_("The folder '%s' already exists."), name);
-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642