aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/backend
diff options
context:
space:
mode:
authorChristopher James Lahey <clahey@helixcode.com>2000-03-29 10:08:23 +0800
committerChris Lahey <clahey@src.gnome.org>2000-03-29 10:08:23 +0800
commit468049294f22d48ab9b43e9e5d88f5457bb04002 (patch)
treefc5a9b11f76caa9d9f47c86e49d25d65fbfdcbd5 /addressbook/backend
parent7bbcabbc1e87f5188e3e44b37abc90cb7a7864fd (diff)
downloadgsoc2013-evolution-468049294f22d48ab9b43e9e5d88f5457bb04002.tar
gsoc2013-evolution-468049294f22d48ab9b43e9e5d88f5457bb04002.tar.gz
gsoc2013-evolution-468049294f22d48ab9b43e9e5d88f5457bb04002.tar.bz2
gsoc2013-evolution-468049294f22d48ab9b43e9e5d88f5457bb04002.tar.lz
gsoc2013-evolution-468049294f22d48ab9b43e9e5d88f5457bb04002.tar.xz
gsoc2013-evolution-468049294f22d48ab9b43e9e5d88f5457bb04002.tar.zst
gsoc2013-evolution-468049294f22d48ab9b43e9e5d88f5457bb04002.zip
Removed an infinite loop.
2000-03-28 Christopher James Lahey <clahey@helixcode.com> * addressbook/backend/pas/pas-backend-file.c: Removed an infinite loop. * addressbook/backend/ebook/test-client-list.c: New test that doesn't add an extra database item. * addressbook/backend/ebook/Makefile.am, addressbook/backend/ebook/.cvsignore: Added test-client-list. svn path=/trunk/; revision=2239
Diffstat (limited to 'addressbook/backend')
-rw-r--r--addressbook/backend/ebook/.cvsignore1
-rw-r--r--addressbook/backend/ebook/Makefile.am14
-rw-r--r--addressbook/backend/ebook/test-client-list.c78
-rw-r--r--addressbook/backend/pas/pas-backend-file.c3
4 files changed, 93 insertions, 3 deletions
diff --git a/addressbook/backend/ebook/.cvsignore b/addressbook/backend/ebook/.cvsignore
index 158eacf744..f1033573bb 100644
--- a/addressbook/backend/ebook/.cvsignore
+++ b/addressbook/backend/ebook/.cvsignore
@@ -10,3 +10,4 @@ addressbook-common.c
addressbook.h
test-card
test-client
+test-client-list
diff --git a/addressbook/backend/ebook/Makefile.am b/addressbook/backend/ebook/Makefile.am
index 5619e9ca84..b942ed8bc7 100644
--- a/addressbook/backend/ebook/Makefile.am
+++ b/addressbook/backend/ebook/Makefile.am
@@ -1,4 +1,4 @@
-bin_PROGRAMS = test-card test-client
+bin_PROGRAMS = test-card test-client test-client-list
corbadir = $(sysconfdir)/CORBA/servers
@@ -65,6 +65,18 @@ test_client_LDADD = \
$(ebook_libs) \
$(top_builddir)/libversit/libversit.la
+test_client_list_SOURCES = \
+ test-client-list.c
+
+test_client_list_LDADD = \
+ $(GTK_LIBS) \
+ $(GNOME_LIBDIR) \
+ $(GNOMEGNORBA_LIBS) \
+ $(INTLLIBS) \
+ -lbonobo \
+ $(ebook_libs) \
+ $(top_builddir)/libversit/libversit.la
+
test_card_SOURCES = \
test-card.c
diff --git a/addressbook/backend/ebook/test-client-list.c b/addressbook/backend/ebook/test-client-list.c
new file mode 100644
index 0000000000..0d65080c13
--- /dev/null
+++ b/addressbook/backend/ebook/test-client-list.c
@@ -0,0 +1,78 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+#include <config.h>
+#include <bonobo.h>
+#include <gnome.h>
+#include <libgnorba/gnorba.h>
+
+#include <e-book.h>
+
+CORBA_Environment ev;
+CORBA_ORB orb;
+
+static void
+init_bonobo (int argc, char **argv)
+{
+
+ gnome_CORBA_init_with_popt_table (
+ "blah", "0.0",
+ &argc, argv, NULL, 0, NULL, GNORBA_INIT_SERVER_FUNC, &ev);
+
+ orb = gnome_CORBA_ORB ();
+
+ if (bonobo_init (orb, NULL, NULL) == FALSE)
+ g_error (_("Could not initialize Bonobo"));
+
+}
+
+static void
+get_cursor_cb (EBook *book, EBookStatus status, ECardCursor *cursor, gpointer closure)
+{
+ long length = e_card_cursor_get_length(cursor);
+ long i;
+
+ printf ("Length: %d\n", length);
+ for ( i = 0; i < length; i++ ) {
+ ECard *card = e_card_cursor_get_nth(cursor, i);
+ char *vcard = e_card_get_vcard(card);
+ printf("[%s]\n", vcard);
+ g_free(vcard);
+ gtk_object_unref(GTK_OBJECT(card));
+ }
+ gtk_object_unref(GTK_OBJECT(cursor));
+}
+
+static void
+book_open_cb (EBook *book, EBookStatus status, gpointer closure)
+{
+ printf ("Book opened.\n");
+ e_book_get_all_cards(book, get_cursor_cb, NULL);
+}
+
+static guint
+ebook_create (void)
+{
+ EBook *book;
+
+ book = e_book_new ();
+
+ if (! e_book_load_uri (book, "file:/tmp/test.db", book_open_cb, NULL)) {
+ printf ("error calling load_uri!\n");
+ }
+
+
+ return FALSE;
+}
+
+int
+main (int argc, char **argv)
+{
+
+ CORBA_exception_init (&ev);
+ init_bonobo (argc, argv);
+
+ gtk_idle_add ((GtkFunction) ebook_create, NULL);
+
+ bonobo_main ();
+
+ return 0;
+}
diff --git a/addressbook/backend/pas/pas-backend-file.c b/addressbook/backend/pas/pas-backend-file.c
index 73f4f67fc9..5c108f740a 100644
--- a/addressbook/backend/pas/pas-backend-file.c
+++ b/addressbook/backend/pas/pas-backend-file.c
@@ -234,7 +234,6 @@ pas_backend_file_build_all_cards_list(PASBackend *backend,
/* don't include the version in the list of cards */
if (!strcmp (id, PAS_BACKEND_FILE_VERSION_NAME)) {
g_free(id);
- continue;
}
else {
g_free(id);
@@ -295,7 +294,7 @@ pas_backend_file_process_get_all_cards (PASBackend *backend,
gtk_signal_connect(GTK_OBJECT(cursor), "destroy",
GTK_SIGNAL_FUNC(cursor_destroy), cursor_data);
-
+
pas_book_respond_get_cursor (
book,
(db_error == 0