From 0c7e55e75cc787269ab570588f3873b6279aede1 Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Thu, 18 Apr 2002 20:50:28 +0000 Subject: Append /addressbook.db to the end of the default URI if it starts with * backend/ebook/e-book-util.c (e_book_load_default_book): Append /addressbook.db to the end of the default URI if it starts with file: * backend/ebook/e-book.c (e_book_load_uri_step): Fix this to not loop forever if you have more than one backend. svn path=/trunk/; revision=16519 --- addressbook/ChangeLog | 9 +++++++++ addressbook/backend/ebook/e-book-util.c | 11 +++++++++-- addressbook/backend/ebook/e-book.c | 2 +- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/addressbook/ChangeLog b/addressbook/ChangeLog index f8195e4d70..8fb8c5fc2b 100644 --- a/addressbook/ChangeLog +++ b/addressbook/ChangeLog @@ -1,3 +1,12 @@ +2002-04-18 Dan Winship + + * backend/ebook/e-book-util.c (e_book_load_default_book): Append + /addressbook.db to the end of the default URI if it starts with + file: + + * backend/ebook/e-book.c (e_book_load_uri_step): Fix this to not + loop forever if you have more than one backend. + 2002-04-17 Christopher James Lahey * gui/component/select-names/e-select-names.c diff --git a/addressbook/backend/ebook/e-book-util.c b/addressbook/backend/ebook/e-book-util.c index 7544342efe..d3de9840f8 100644 --- a/addressbook/backend/ebook/e-book-util.c +++ b/addressbook/backend/ebook/e-book-util.c @@ -242,7 +242,7 @@ e_book_default_book_open (EBook *book, EBookStatus status, gpointer closure) gboolean e_book_load_default_book (EBook *book, EBookCallback open_response, gpointer closure) { - char *val; + char *val, *uri; gboolean rv; CORBA_Environment ev; Bonobo_ConfigDatabase config_db; @@ -260,8 +260,15 @@ e_book_load_default_book (EBook *book, EBookCallback open_response, gpointer clo DefaultBookClosure *default_book_closure = g_new (DefaultBookClosure, 1); default_book_closure->closure = closure; default_book_closure->open_response = open_response; - rv = e_book_load_uri (book, val, + + /* Sigh. FIXME. */ + if (!strncmp (val, "file:", 5)) + uri = g_strconcat (val, "/addressbook.db", NULL); + else + uri = g_strdup (val); + rv = e_book_load_uri (book, uri, e_book_default_book_open, default_book_closure); + g_free (uri); g_free (val); } else { diff --git a/addressbook/backend/ebook/e-book.c b/addressbook/backend/ebook/e-book.c index fdc7252cfa..61930fc4d6 100644 --- a/addressbook/backend/ebook/e-book.c +++ b/addressbook/backend/ebook/e-book.c @@ -547,7 +547,7 @@ e_book_load_uri_step (EBook *book, EBookStatus status, EBookLoadURIData *data) { /* iterate to the next possible CardFactory, or fail if it's the last one */ - book->priv->iter = book->priv->book_factories->next; + book->priv->iter = book->priv->iter->next; if (book->priv->iter) { GNOME_Evolution_Addressbook_BookFactory factory = book->priv->iter->data; e_book_load_uri_from_factory (book, factory, data); -- cgit v1.2.3