Canonicalize store->namespace to end in store->dir_sep, once both values
authorPeter Williams <peterw@ximian.com>
Wed, 15 Aug 2001 02:48:00 +0000 (02:48 +0000)
committerPeter Williams <peterw@src.gnome.org>
Wed, 15 Aug 2001 02:48:00 +0000 (02:48 +0000)
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.

camel/ChangeLog
camel/providers/imap/camel-imap-store.c

index b9169dc..a556392 100644 (file)
@@ -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,
index eb0c61e..1260cb5 100644 (file)
@@ -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);