aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Williams <peterw@ximian.com>2001-08-15 10:48:00 +0800
committerPeter Williams <peterw@src.gnome.org>2001-08-15 10:48:00 +0800
commit545c3e8a64626dd516d9a5f044b080fea946536a (patch)
tree6051ea64a7bb49e31e7a55d7b7d66a2adb068d3c
parent6684b4627d4767f6ea5d2969d70ae6f2cf863a79 (diff)
downloadgsoc2013-evolution-545c3e8a64626dd516d9a5f044b080fea946536a.tar.gz
gsoc2013-evolution-545c3e8a64626dd516d9a5f044b080fea946536a.tar.zst
gsoc2013-evolution-545c3e8a64626dd516d9a5f044b080fea946536a.zip
Canonicalize store->namespace to end in store->dir_sep, once both values
2001-08-14 Peter Williams <peterw@ximian.com> * providers/imap/camel-imap-store.c (imap_connect_online): Canonicalize store->namespace to end in store->dir_sep, once both values are known. The %F-related code makes this assumption. Probably fixes a bug reported on the mailing list. svn path=/trunk/; revision=12040
-rw-r--r--camel/ChangeLog7
-rw-r--r--camel/providers/imap/camel-imap-store.c12
2 files changed, 18 insertions, 1 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog
index b9169dc7c9..a5563925de 100644
--- a/camel/ChangeLog
+++ b/camel/ChangeLog
@@ -1,3 +1,10 @@
+2001-08-14 Peter Williams <peterw@ximian.com>
+
+ * providers/imap/camel-imap-store.c (imap_connect_online):
+ Canonicalize store->namespace to end in store->dir_sep, once both
+ values are known. The %F-related code makes this
+ assumption. Probably fixes a bug reported on the mailing list.
+
2001-08-13 Jeffrey Stedfast <fejj@ximian.com>
* camel-store.c (camel_store_get_folder): After talking to NotZed,
diff --git a/camel/providers/imap/camel-imap-store.c b/camel/providers/imap/camel-imap-store.c
index eb0c61e0f8..1260cb58b2 100644
--- a/camel/providers/imap/camel-imap-store.c
+++ b/camel/providers/imap/camel-imap-store.c
@@ -646,7 +646,17 @@ imap_connect_online (CamelService *service, CamelException *ex)
if (!store->dir_sep)
store->dir_sep = '/'; /* Guess */
}
-
+
+ /* canonicalize the namespace to end with dir_sep */
+ len = strlen (store->namespace);
+ if (store->namespace[len] != store->dir_sep) {
+ gchar *tmp;
+
+ tmp = g_strdup_printf ("%s%c", store->namespace, store->dir_sep);
+ g_free (store->namespace);
+ store->namespace = tmp;
+ }
+
/* Write namespace/separator out */
camel_file_util_encode_string (storeinfo, store->namespace);
camel_file_util_encode_uint32 (storeinfo, store->dir_sep);