On Wed, Jan 09, 2002 at 07:38:43PM -0500, Jeffrey Stedfast wrote:
Oops, copy/paste-o when migrating the patch to the 1-0 code base.
Here is the correct patch for the 1.0.x branch. Hopefully the Debian maintainer will apply it? I am creating an Evolution 1.0-5.1 package on my system with the patch applied. I haven't seen so many signal 11's in aeons. Index: camel/providers/local/camel-local-folder.c =================================================================== RCS file: /cvs/gnome/evolution/camel/providers/local/camel-local-folder.c,v retrieving revision 1.22 diff -u -r1.22 camel-local-folder.c --- evolution/camel/providers/local/camel-local-folder.c 2001/10/28 05:10:55 1.22 +++ evolution/camel/providers/local/camel-local-folder.c 2002/01/09 21:44:15 @@ -23,8 +23,9 @@ #include <config.h> #endif #include <stdlib.h> +#include <limits.h> #include <sys/types.h> #include <dirent.h> #include <sys/stat.h> #include <unistd.h> @@ -173,8 +174,9 @@ CamelFolder *folder; const char *root_dir_path, *name; struct stat st; int forceindex; + char folder_path[4096]; folder = (CamelFolder *)lf; name = strrchr(full_name, '/'); @@ -190,8 +192,16 @@ lf->base_path = g_strdup(root_dir_path); lf->folder_path = g_strdup_printf("%s/%s", root_dir_path, full_name); lf->summary_path = g_strdup_printf("%s/%s.ev-summary", root_dir_path, full_name); lf->index_path = g_strdup_printf("%s/%s.ibex", root_dir_path, full_name); + + /* follow any symlinks to the mailbox */ + memset(folder_path, 0, sizeof folder_path); + if (lstat (lf->folder_path, &st) != -1 && S_ISLNK (st.st_mode) && + realpath (lf->folder_path, folder_path) != NULL) { + g_free (lf->folder_path); + lf->folder_path = g_strdup (folder_path); + } lf->changes = camel_folder_change_info_new(); /* if we have no index file, force it */
Attachment:
pgpA4tDdTBhLV.pgp
Description: PGP signature