Hi, I forgot to put a NULL at a g_build_filename argument. Also, I think we must ignore cache files that don't end by a '.' or by ".~". Because the cache_put function provokes glib-Critical and may seg fault if key and uid are the same. Of course with my last patch, new cache files will always end by '.', by ".~" or by ".xxx". I attached a patch. Regards, * Philip Van Hoof <spam pvanhoof be> [2008-11-13 17:44:54 +0100]: > Patch accepted and committed > > Thanks! > > On Thu, 2008-11-13 at 16:51 +0100, Thomas Guillem wrote: > > OK, new patch attached. > > > > * Philip Van Hoof <spam pvanhoof be> [2008-11-13 15:50:56 +0100]: > > > I know that the existing code didn't do this either, but please use > > > g_build_filename instead of hardcoding the directory separator as '/' > > > for new code and patches. > > > > > > On Thu, 2008-11-13 at 15:25 +0100, Thomas Guillem wrote: > > > > Hi, > > > > > > > > The attached patch change cache filename in order to be compatible with > > > > FAT32 Partions, like we discussed on IRC. > > > > > > > > Is it OK ? > > > > > > -- > Philip Van Hoof, freelance software developer > home: me at pvanhoof dot be > gnome: pvanhoof at gnome dot org > http://pvanhoof.be/blog > http://codeminded.be > -- Thomas Guillem - http://tomoueb.com Etudiant en GI03 (Génie Informatique) à l'UTBM (http://www.utbm.fr)
Index: libtinymail-camel/camel-lite/camel/providers/imap/camel-imap-message-cache.c
===================================================================
--- libtinymail-camel/camel-lite/camel/providers/imap/camel-imap-message-cache.c (revision 54905)
+++ libtinymail-camel/camel-lite/camel/providers/imap/camel-imap-message-cache.c (working copy)
@@ -189,9 +189,10 @@
uid = g_strndup (dname, p - dname);
else if ((p = strchr (dname, '_')))
uid = g_strndup (dname, p - dname);
- else
- uid = g_strdup (dname);
-
+ else {
+ g_warning("Cache file name Invalid\n");
+ continue;
+ }
info = camel_folder_summary_uid (summary, uid);
if (info) {
camel_message_info_free(info);
@@ -346,7 +347,7 @@
{
gchar *file;
if (part_spec && *part_spec) {
- file = g_build_filename(path, uid, part_spec);
+ file = g_build_filename(path, uid, part_spec, NULL);
} else {
char tmp [512];
Attachment:
pgpZqZJZEZQng.pgp
Description: PGP signature