aboutsummaryrefslogtreecommitdiffstats
path: root/e-util
diff options
context:
space:
mode:
Diffstat (limited to 'e-util')
-rw-r--r--e-util/ChangeLog5
-rw-r--r--e-util/Makefile.am16
-rw-r--r--e-util/e-db3-utils.c184
-rw-r--r--e-util/e-db3-utils.h29
-rw-r--r--e-util/e-dbhash.c227
-rw-r--r--e-util/e-dbhash.h45
6 files changed, 6 insertions, 500 deletions
diff --git a/e-util/ChangeLog b/e-util/ChangeLog
index 727c5cb74d..32eb9600c0 100644
--- a/e-util/ChangeLog
+++ b/e-util/ChangeLog
@@ -1,3 +1,8 @@
+2003-11-18 JP Rosevear <jpr@ximian.com>
+
+ * Makefile.am: remove db3 library, if you really want it, get it
+ from e-d-s
+
2003-11-14 JP Rosevear <jpr@ximian.com>
* Makefile.am: don't build the e-source stuff anymore, its in
diff --git a/e-util/Makefile.am b/e-util/Makefile.am
index ab8f39a3a2..cfb512938e 100644
--- a/e-util/Makefile.am
+++ b/e-util/Makefile.am
@@ -1,6 +1,5 @@
eutilincludedir = $(privincludedir)/e-util
econdincludedir = $(privincludedir)/e-conduit
-edb3includedir = $(privincludedir)/e-db3util
INCLUDES = \
-I$(top_srcdir) \
@@ -9,11 +8,10 @@ INCLUDES = \
-DG_LOG_DOMAIN=\"e-utils\" \
-DG_DISABLE_DEPRECATED \
-DGTK_DISABLE_DEPRECATED \
- $(DB3_CFLAGS) \
$(GNOME_PILOT_CFLAGS) \
$(E_UTIL_CFLAGS)
-privlib_LTLIBRARIES = libeutil.la libedb3util.la libeconduit.la
+privlib_LTLIBRARIES = libeutil.la libeconduit.la
eutilinclude_HEADERS = \
e-account-list.h \
@@ -114,18 +112,6 @@ EXTRA_DIST = \
ChangeLog.pre-1-4 \
e-util-marshal.list
-edb3include_HEADERS = \
- e-db3-utils.h \
- e-dbhash.h
-
-libedb3util_la_SOURCES = \
- $(edb3include_HEADERS) \
- e-db3-utils.c \
- e-dbhash.c
-
-libedb3util_la_LIBADD = \
- $(DB3_LDADD)
-
BUILT_SOURCES = $(MARSHAL_GENERATED)
CLEANFILES = $(BUILT_SOURCES)
diff --git a/e-util/e-db3-utils.c b/e-util/e-db3-utils.c
deleted file mode 100644
index 3326f32a6e..0000000000
--- a/e-util/e-db3-utils.c
+++ /dev/null
@@ -1,184 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-
-#include "config.h"
-
-#include "e-db3-utils.h"
-
-#include <db.h>
-
-#include <errno.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <libgnome/gnome-util.h>
-
-#if DB_VERSION_MAJOR != 3 || \
- DB_VERSION_MINOR != 1 || \
- DB_VERSION_PATCH != 17
-#error Including wrong DB3. Need libdb 3.1.17.
-#endif
-
-static char *
-get_check_filename (const char *filename)
-{
- return g_strdup_printf ("%s-upgrading", filename);
-}
-
-static char *
-get_copy_filename (const char *filename)
-{
- return g_strdup_printf ("%s-copy", filename);
-}
-
-static int
-cp_file (const char *src, const char *dest)
-{
- int i;
- int o;
- char buffer[1024];
- int length;
- int place;
-
- i = open (src, O_RDONLY);
- if (i == -1)
- return -1;
- o = creat (dest, S_IREAD | S_IWRITE);
- if (o == -1) {
- close (i);
- return -1;
- }
- while (1) {
- length = read (i, &buffer, sizeof (buffer));
-
- if (length == 0)
- break;
-
- if (length == -1) {
- if (errno == EINTR)
- continue;
- else {
- close (i);
- close (o);
- unlink (dest);
- return -1;
- }
- }
-
- place = 0;
- while (length != 0) {
- int count;
- count = write (o, buffer + place, length);
- if (count == -1) {
- if (errno == EINTR)
- continue;
- else {
- close (i);
- close (o);
- unlink (dest);
- return -1;
- }
- }
-
- length -= count;
- place += count;
- }
- }
- if (close (i))
- return -1;
- if (close (o))
- return -1;
- return 0;
-}
-
-static int
-touch_file (const char *file)
-{
- int o;
- o = creat (file, S_IREAD | S_IWRITE);
- if (o == -1)
- return -1;
-
- if (close (o) == -1)
- return -1;
-
- return 0;
-}
-
-static int
-resume_upgrade (const char *filename, const char *copy_filename, const char *check_filename)
-{
- DB *db;
- int ret_val;
-
- ret_val = db_create (&db, NULL, 0);
-
- if (ret_val == 0)
- ret_val = cp_file (copy_filename, filename);
-
- if (ret_val == 0)
- ret_val = db->upgrade (db, filename, 0);
-
- if (ret_val == 0)
- ret_val = unlink (check_filename);
- if (ret_val == 0)
- ret_val = unlink (copy_filename);
-
- db->close (db, 0);
-
- return ret_val;
-}
-
-int
-e_db3_utils_maybe_recover (const char *filename)
-{
- int ret_val = 0;
- char *copy_filename;
- char *check_filename;
-
- copy_filename = get_copy_filename (filename);
- check_filename = get_check_filename (filename);
-
- if (g_file_exists (check_filename)) {
- ret_val = resume_upgrade(filename, copy_filename, check_filename);
- } else if (g_file_exists (copy_filename)) {
- unlink (copy_filename);
- }
-
- g_free (copy_filename);
- g_free (check_filename);
- return ret_val;
-}
-
-int
-e_db3_utils_upgrade_format (const char *filename)
-{
- char *copy_filename;
- char *check_filename;
- DB *db;
- int ret_val;
-
- ret_val = db_create (&db, NULL, 0);
- if (ret_val != 0)
- return ret_val;
-
- copy_filename = get_copy_filename (filename);
- check_filename = get_check_filename (filename);
-
- ret_val = cp_file (filename, copy_filename);
-
- if (ret_val == 0)
- ret_val = touch_file (check_filename);
- if (ret_val == 0)
- ret_val = db->upgrade (db, filename, 0);
- if (ret_val == 0)
- ret_val = unlink (check_filename);
-
- if (ret_val == 0)
- ret_val = unlink (copy_filename);
-
- db->close (db, 0);
-
- g_free (check_filename);
- g_free (copy_filename);
- return ret_val;
-}
diff --git a/e-util/e-db3-utils.h b/e-util/e-db3-utils.h
deleted file mode 100644
index a574e59178..0000000000
--- a/e-util/e-db3-utils.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * db3 utils.
- *
- * Author:
- * Chris Lahey <clahey@ximian.com>
- *
- * Copyright 2001, Ximian, Inc.
- */
-
-#ifndef __E_DB3_UTILS_H__
-#define __E_DB3_UTILS_H__
-
-#include <glib.h>
-
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
-
-int e_db3_utils_maybe_recover (const char *filename);
-int e_db3_utils_upgrade_format (const char *filename);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* ! __E_DB3_UTILS_H__ */
-
diff --git a/e-util/e-dbhash.c b/e-util/e-dbhash.c
deleted file mode 100644
index 209798fbc5..0000000000
--- a/e-util/e-dbhash.c
+++ /dev/null
@@ -1,227 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * Author:
- * JP Rosevear (jpr@ximian.com)
- *
- * Copyright 2000, Ximian, Inc.
- */
-
-#include <config.h>
-
-#include "e-dbhash.h"
-
-#include <string.h>
-#include <fcntl.h>
-#include <db.h>
-#include "md5-utils.h"
-
-#if DB_VERSION_MAJOR != 3 || \
- DB_VERSION_MINOR != 1 || \
- DB_VERSION_PATCH != 17
-#error Including wrong DB3. Need libdb 3.1.17.
-#endif
-
-struct _EDbHashPrivate
-{
- DB *db;
-};
-
-EDbHash *
-e_dbhash_new (const char *filename)
-{
- EDbHash *edbh;
- DB *db;
- int rv;
-
- int major, minor, patch;
-
- db_version (&major, &minor, &patch);
-
- if (major != 3 ||
- minor != 1 ||
- patch != 17) {
- g_warning ("Wrong version of libdb.");
- return NULL;
- }
-
- /* Attempt to open the database */
- rv = db_create (&db, NULL, 0);
- if (rv != 0) {
- return NULL;
- }
-
- rv = db->open (db, filename, NULL, DB_HASH, 0, 0666);
- if (rv != 0) {
- rv = db->open (db, filename, NULL, DB_HASH, DB_CREATE, 0666);
-
- if (rv != 0)
- return NULL;
- }
-
- edbh = g_new (EDbHash, 1);
- edbh->priv = g_new (EDbHashPrivate, 1);
- edbh->priv->db = db;
-
- return edbh;
-}
-
-static void
-string_to_dbt(const char *str, DBT *dbt)
-{
- memset (dbt, 0, sizeof (DBT));
- dbt->data = (void*)str;
- dbt->size = strlen (str) + 1;
-}
-
-static void
-md5_to_dbt(const char str[16], DBT *dbt)
-{
- memset (dbt, 0, sizeof (DBT));
- dbt->data = (void*)str;
- dbt->size = 16;
-}
-
-void
-e_dbhash_add (EDbHash *edbh, const gchar *key, const gchar *data)
-{
- DB *db;
- DBT dkey;
- DBT ddata;
- guchar local_hash[16];
-
- g_return_if_fail (edbh != NULL);
- g_return_if_fail (edbh->priv != NULL);
- g_return_if_fail (edbh->priv->db != NULL);
- g_return_if_fail (key != NULL);
- g_return_if_fail (data != NULL);
-
- db = edbh->priv->db;
-
- /* Key dbt */
- string_to_dbt (key, &dkey);
-
- /* Data dbt */
- md5_get_digest (data, strlen (data), local_hash);
- md5_to_dbt (local_hash, &ddata);
-
- /* Add to database */
- db->put (db, NULL, &dkey, &ddata, 0);
-}
-
-void
-e_dbhash_remove (EDbHash *edbh, const char *key)
-{
- DB *db;
- DBT dkey;
-
- g_return_if_fail (edbh != NULL);
- g_return_if_fail (edbh->priv != NULL);
- g_return_if_fail (key != NULL);
-
- db = edbh->priv->db;
-
- /* Key dbt */
- string_to_dbt (key, &dkey);
-
- /* Remove from database */
- db->del (db, NULL, &dkey, 0);
-}
-
-void
-e_dbhash_foreach_key (EDbHash *edbh, EDbHashFunc func, gpointer user_data)
-{
- DB *db;
- DBT dkey;
- DBT ddata;
- DBC *dbc;
- int db_error = 0;
-
- g_return_if_fail (edbh != NULL);
- g_return_if_fail (edbh->priv != NULL);
- g_return_if_fail (func != NULL);
-
- db = edbh->priv->db;
-
- db_error = db->cursor (db, NULL, &dbc, 0);
-
- if (db_error != 0) {
- return;
- }
-
- memset(&dkey, 0, sizeof(DBT));
- memset(&ddata, 0, sizeof(DBT));
- db_error = dbc->c_get(dbc, &dkey, &ddata, DB_FIRST);
-
- while (db_error == 0) {
- (*func) ((const char *)dkey.data, user_data);
-
- db_error = dbc->c_get(dbc, &dkey, &ddata, DB_NEXT);
- }
- dbc->c_close (dbc);
-}
-
-EDbHashStatus
-e_dbhash_compare (EDbHash *edbh, const char *key, const char *compare_data)
-{
- DB *db;
- DBT dkey;
- DBT ddata;
- guchar compare_hash[16];
-
- g_return_val_if_fail (edbh != NULL, FALSE);
- g_return_val_if_fail (edbh->priv != NULL, FALSE);
- g_return_val_if_fail (key != NULL, FALSE);
- g_return_val_if_fail (compare_hash != NULL, FALSE);
-
- db = edbh->priv->db;
-
- /* Key dbt */
- string_to_dbt (key, &dkey);
-
- /* Lookup in database */
- memset (&ddata, 0, sizeof (DBT));
- db->get (db, NULL, &dkey, &ddata, 0);
-
- /* Compare */
- if (ddata.data) {
- md5_get_digest (compare_data, strlen (compare_data), compare_hash);
-
- if (memcmp (ddata.data, compare_hash, sizeof (guchar) * 16))
- return E_DBHASH_STATUS_DIFFERENT;
- } else {
- return E_DBHASH_STATUS_NOT_FOUND;
- }
-
- return E_DBHASH_STATUS_SAME;
-}
-
-void
-e_dbhash_write (EDbHash *edbh)
-{
- DB *db;
-
- g_return_if_fail (edbh != NULL);
- g_return_if_fail (edbh->priv != NULL);
-
- db = edbh->priv->db;
-
- /* Flush database to disk */
- db->sync (db, 0);
-}
-
-void
-e_dbhash_destroy (EDbHash *edbh)
-{
- DB *db;
-
- g_return_if_fail (edbh != NULL);
- g_return_if_fail (edbh->priv != NULL);
-
- db = edbh->priv->db;
-
- /* Close datbase */
- db->close (db, 0);
-
- g_free (edbh->priv);
- g_free (edbh);
-}
diff --git a/e-util/e-dbhash.h b/e-util/e-dbhash.h
deleted file mode 100644
index 9772a60c41..0000000000
--- a/e-util/e-dbhash.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * Writes hashes that go to/from disk in db form. Hash keys are strings
- *
- * Author:
- * JP Rosevear (jpr@ximian.com)
- *
- * Copyright 2000, Ximian, Inc.
- */
-
-#ifndef __E_DBHASH_H__
-#define __E_DBHASH_H__
-
-#include <glib.h>
-
-typedef enum {
- E_DBHASH_STATUS_SAME,
- E_DBHASH_STATUS_DIFFERENT,
- E_DBHASH_STATUS_NOT_FOUND,
-} EDbHashStatus;
-
-typedef struct _EDbHash EDbHash;
-typedef struct _EDbHashPrivate EDbHashPrivate;
-
-struct _EDbHash
-{
- EDbHashPrivate *priv;
-};
-
-typedef void (*EDbHashFunc) (const char *key, gpointer user_data);
-
-EDbHash *e_dbhash_new (const char *filename);
-
-void e_dbhash_add (EDbHash *edbh, const char *key, const char *data);
-void e_dbhash_remove (EDbHash *edbh, const char *key);
-
-EDbHashStatus e_dbhash_compare (EDbHash *edbh, const char *key, const char *compare_data);
-void e_dbhash_foreach_key (EDbHash *edbh, EDbHashFunc func, gpointer user_data);
-
-void e_dbhash_write (EDbHash *edbh);
-
-void e_dbhash_destroy (EDbHash *edbh);
-
-#endif /* ! __E_DBHASH_H__ */
-