aboutsummaryrefslogtreecommitdiffstats
path: root/mail/em-migrate.c
diff options
context:
space:
mode:
authorJeffrey Stedfast <fejj@ximian.com>2004-01-16 03:01:30 +0800
committerJeffrey Stedfast <fejj@src.gnome.org>2004-01-16 03:01:30 +0800
commit8fbb41b728784aa0b7672964f6d5304d82429b5c (patch)
tree7f322f8e39055fe01578235ed40ac51736d39b3e /mail/em-migrate.c
parentb3fe89ecf60c8beb7778490f50425625b6c4744d (diff)
downloadgsoc2013-evolution-8fbb41b728784aa0b7672964f6d5304d82429b5c.tar
gsoc2013-evolution-8fbb41b728784aa0b7672964f6d5304d82429b5c.tar.gz
gsoc2013-evolution-8fbb41b728784aa0b7672964f6d5304d82429b5c.tar.bz2
gsoc2013-evolution-8fbb41b728784aa0b7672964f6d5304d82429b5c.tar.lz
gsoc2013-evolution-8fbb41b728784aa0b7672964f6d5304d82429b5c.tar.xz
gsoc2013-evolution-8fbb41b728784aa0b7672964f6d5304d82429b5c.tar.zst
gsoc2013-evolution-8fbb41b728784aa0b7672964f6d5304d82429b5c.zip
Only abort the copy if the dest folder both exists and contains data.
2004-01-15 Jeffrey Stedfast <fejj@ximian.com> * em-migrate.c (cp): Only abort the copy if the dest folder both exists and contains data. Fixes bug #52880. (em_migrate): Abort if config.xmldb cannot be loaded. Fixes bug #52886. svn path=/trunk/; revision=24251
Diffstat (limited to 'mail/em-migrate.c')
-rw-r--r--mail/em-migrate.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/mail/em-migrate.c b/mail/em-migrate.c
index ccb4fedfe3..05f4a58cec 100644
--- a/mail/em-migrate.c
+++ b/mail/em-migrate.c
@@ -1868,10 +1868,17 @@ em_migrate (const char *evolution_dir, int major, int minor, int revision, Camel
xmlDocPtr config_xmldb = NULL, filters, vfolders;
path = g_build_filename (g_get_home_dir (), "evolution", NULL);
+ if (minor <= 2 && !(config_xmldb = emm_load_xml (path, "config.xmldb"))) {
+ camel_exception_set (ex, CAMEL_EXCEPTION_SYSTEM,
+ "Cannot migrate mail settings/data from Evolution %d.%d.%d: "
+ "~/evolution/config.xmldb doesn't exist or is corrupt!");
+ g_warning ("Cannot migrate mail settings/data from Evolution %d.%d.%d: "
+ "~/evolution/config.xmldb doesn't exist or is corrupt!");
+ g_free (path);
+ return -1;
+ }
filters = emm_load_xml (path, "filters.xml");
vfolders = emm_load_xml (path, "vfolders.xml");
- if (minor <= 2)
- config_xmldb = emm_load_xml (path, "config.xmldb");
g_free (path);
if (minor == 0) {