From 468049294f22d48ab9b43e9e5d88f5457bb04002 Mon Sep 17 00:00:00 2001 From: Christopher James Lahey Date: Wed, 29 Mar 2000 02:08:23 +0000 Subject: Removed an infinite loop. 2000-03-28 Christopher James Lahey * 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 --- ChangeLog | 11 ++++ addressbook/backend/ebook/.cvsignore | 1 + addressbook/backend/ebook/Makefile.am | 14 ++++- addressbook/backend/ebook/test-client-list.c | 78 ++++++++++++++++++++++++++++ addressbook/backend/pas/pas-backend-file.c | 3 +- 5 files changed, 104 insertions(+), 3 deletions(-) create mode 100644 addressbook/backend/ebook/test-client-list.c diff --git a/ChangeLog b/ChangeLog index 5409761549..3811bcaa66 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2000-03-28 Christopher James Lahey + + * 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. + 2000-03-28 Christopher James Lahey * addressbook/backend/pas/pas-card-cursor.c: Fixed memory 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 +#include +#include +#include + +#include + +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 -- cgit v1.2.3