[evolution-exchange] Be less strict on GAL uri format
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-exchange] Be less strict on GAL uri format
- Date: Thu, 18 Feb 2010 13:41:19 +0000 (UTC)
commit 250a37c95f330e7a5f128e6d0897cc403efdbf90
Author: Milan Crha <mcrha redhat com>
Date: Thu Feb 18 14:40:36 2010 +0100
Be less strict on GAL uri format
addressbook/e-book-backend-gal.c | 19 +++++++++++++------
1 files changed, 13 insertions(+), 6 deletions(-)
---
diff --git a/addressbook/e-book-backend-gal.c b/addressbook/e-book-backend-gal.c
index 9eddc7e..6086f65 100644
--- a/addressbook/e-book-backend-gal.c
+++ b/addressbook/e-book-backend-gal.c
@@ -2556,7 +2556,7 @@ load_source (EBookBackend *backend,
gchar **tokens;
const gchar *offline;
gchar *uri;
- gchar *book_name;
+ gchar *book_name = NULL;
gchar *dirname, *filename;
gint i, db_error;
#if ENABLE_CACHE
@@ -2581,12 +2581,11 @@ load_source (EBookBackend *backend,
bl->priv->gal_uri = g_strdup (uri);
tokens = g_strsplit (uri, ";", 2);
- g_free (uri);
- if (tokens[0])
+ if (tokens[0]) {
+ g_free (uri);
uri = g_strdup (tokens [0]);
- book_name = g_strdup (tokens[1]);
- if (book_name == NULL)
- return GNOME_Evolution_Addressbook_OtherError;
+ book_name = g_strdup (tokens[1]);
+ }
g_strfreev (tokens);
for (i=0; i< strlen (uri); i++) {
@@ -2607,6 +2606,9 @@ load_source (EBookBackend *backend,
e_book_backend_notify_writable (backend, FALSE);
e_book_backend_notify_connection_status (backend, FALSE);
+ g_free (book_name);
+ g_free (uri);
+
return GNOME_Evolution_Addressbook_RepositoryOffline;
}
d(printf("offlin==============\n"));
@@ -2622,6 +2624,9 @@ load_source (EBookBackend *backend,
dirname = g_build_filename (g_get_home_dir(), ".evolution/cache/addressbook", uri, book_name, NULL);
filename = g_build_filename (dirname, "cache.db", NULL);
+ g_free (book_name);
+ g_free (uri);
+
db_error = e_db3_utils_maybe_recover (filename);
if (db_error != 0) {
g_warning ("db recovery failed with %d", db_error);
@@ -2719,6 +2724,8 @@ load_source (EBookBackend *backend,
e_book_backend_db_cache_set_filename (bl->priv->file_db, filename);
g_free (filename);
g_free (dirname);
+ } else {
+ g_free (book_name);
g_free (uri);
}
#endif
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]