diff --git a/obexd/plugins/phonebook-dummy.c b/obexd/plugins/phonebook-dummy.c
index 1c0135e..7c549fa 100644
--- a/obexd/plugins/phonebook-dummy.c
+++ b/obexd/plugins/phonebook-dummy.c
int phonebook_init(void)
{
+ if (root_folder)
+ return 0;
+
/* FIXME: It should NOT be hard-coded */
root_folder = g_build_filename(getenv("HOME"), "phonebook", NULL);
void phonebook_exit(void)
{
g_free(root_folder);
+ root_folder = NULL;
}
static int handle_cmp(gconstpointer a, gconstpointer b)
diff --git a/obexd/plugins/phonebook-ebook.c b/obexd/plugins/phonebook-ebook.c
index da68ac0..073ff33 100644
--- a/obexd/plugins/phonebook-ebook.c
+++ b/obexd/plugins/phonebook-ebook.c
{
GError *gerr = NULL;
+ if (ebook)
+ return 0;
+
g_type_init();
ebook = e_book_new_default_addressbook(&gerr);
{
if (ebook)
g_object_unref(ebook);
+ ebook = NULL;
}
char *phonebook_set_folder(const char *current_folder,