aboutsummaryrefslogtreecommitdiffstats
path: root/camel/providers/local/camel-maildir-store.c
diff options
context:
space:
mode:
authorDan Winship <danw@src.gnome.org>2001-10-02 02:09:53 +0800
committerDan Winship <danw@src.gnome.org>2001-10-02 02:09:53 +0800
commit0b2cc6633c190b8433ea0c5ef818697ffdf51744 (patch)
tree908d2e69cad1bef000cb90de68b35a9401a8ee24 /camel/providers/local/camel-maildir-store.c
parent505c37cb92dffa5c27d465bc597420367e272880 (diff)
downloadgsoc2013-evolution-0b2cc6633c190b8433ea0c5ef818697ffdf51744.tar
gsoc2013-evolution-0b2cc6633c190b8433ea0c5ef818697ffdf51744.tar.gz
gsoc2013-evolution-0b2cc6633c190b8433ea0c5ef818697ffdf51744.tar.bz2
gsoc2013-evolution-0b2cc6633c190b8433ea0c5ef818697ffdf51744.tar.lz
gsoc2013-evolution-0b2cc6633c190b8433ea0c5ef818697ffdf51744.tar.xz
gsoc2013-evolution-0b2cc6633c190b8433ea0c5ef818697ffdf51744.tar.zst
gsoc2013-evolution-0b2cc6633c190b8433ea0c5ef818697ffdf51744.zip
Don't munge the URL; CamelSession's caching relies on it not changing.
* providers/local/camel-local-store.c (construct): Don't munge the URL; CamelSession's caching relies on it not changing. Instead, add a toplevel_dir field to CamelLocalStore, and set that to the path, but always ending with /. (camel_local_store_finalize): Free toplevel_dir (camel_local_store_get_toplevel_dir): Return toplevel_dir rather than url->path. * providers/local/*: Lots of s/url->path/toplevel_dir/ * providers/local/camel-spool-store.c (construct): Likewise, don't try to strip a trailing / from url->path here, but I didn't make the corresponding toplevel_dir change, because there's no good reason someone should expect "/var/spool/mail/danw/" to work since that's not a directory. svn path=/trunk/; revision=13264
Diffstat (limited to 'camel/providers/local/camel-maildir-store.c')
-rw-r--r--camel/providers/local/camel-maildir-store.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/camel/providers/local/camel-maildir-store.c b/camel/providers/local/camel-maildir-store.c
index d6392b5ac2..5ed4e4a533 100644
--- a/camel/providers/local/camel-maildir-store.c
+++ b/camel/providers/local/camel-maildir-store.c
@@ -95,7 +95,7 @@ static CamelFolder *get_folder(CamelStore * store, const char *folder_name, guin
if (camel_exception_is_set(ex))
return NULL;
- name = g_strdup_printf("%s%s", CAMEL_SERVICE(store)->url->path, folder_name);
+ name = g_strdup_printf("%s%s", CAMEL_LOCAL_STORE(store)->toplevel_dir, folder_name);
tmp = g_strdup_printf("%s/tmp", name);
cur = g_strdup_printf("%s/cur", name);
new = g_strdup_printf("%s/new", name);
@@ -153,7 +153,7 @@ static void delete_folder(CamelStore * store, const char *folder_name, CamelExce
char *name, *tmp, *cur, *new;
struct stat st;
- name = g_strdup_printf("%s%s", CAMEL_SERVICE(store)->url->path, folder_name);
+ name = g_strdup_printf("%s%s", CAMEL_LOCAL_STORE(store)->toplevel_dir, folder_name);
tmp = g_strdup_printf("%s/tmp", name);
cur = g_strdup_printf("%s/cur", name);
@@ -395,12 +395,12 @@ static CamelFolderInfo *
get_folder_info (CamelStore *store, const char *top, guint32 flags, CamelException *ex)
{
CamelFolderInfo *fi = NULL;
- CamelService *service = (CamelService *)store;
+ CamelLocalStore *local_store = (CamelLocalStore *)store;
GHashTable *visited;
visited = g_hash_table_new(inode_hash, inode_equal);
- if (scan_dir(store, visited, service->url->path, top?top:".", flags, NULL, &fi, ex) == -1 && fi != NULL) {
+ if (scan_dir(store, visited, local_store->toplevel_dir, top?top:".", flags, NULL, &fi, ex) == -1 && fi != NULL) {
camel_store_free_folder_info_full(store, fi);
fi = NULL;
}