diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2007-04-11 20:22:20 +0000 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2007-04-11 20:22:20 +0000 |
commit | 7fa5d3c0edad565d629648fe7ffa490cd2f559d4 (patch) | |
tree | 7d36d26650b2cd72b2f84b721e8d429b619c8302 | |
parent | 06b8dd13216d028e7aa8a4bc028cac74532bd44c (diff) | |
download | mailfromd-7fa5d3c0edad565d629648fe7ffa490cd2f559d4.tar.gz mailfromd-7fa5d3c0edad565d629648fe7ffa490cd2f559d4.tar.bz2 |
[WITH_BDB] (mu_dbm_open): Improve logging
git-svn-id: file:///svnroot/mailfromd/branches/release_3_1_patches@1350 7a8a7f39-df28-0410-adc6-e0d955640f24
-rw-r--r-- | src/mu_dbm.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/mu_dbm.c b/src/mu_dbm.c index 699dd609..62291062 100644 --- a/src/mu_dbm.c +++ b/src/mu_dbm.c @@ -240,6 +240,15 @@ mu_dbm_finish () FREE_ENV (); } +static void +mu_dbm_errcall_fcn (const char *errpfx, char *msg) +{ + if (errpfx) + mu_error ("%s: Berkeley DB error: %s", errpfx, msg); + else + mu_error ("Berkeley DB error: %s", msg); +} + int mu_dbm_open (char *name, DBM_FILE *dbm, int flags, int mode, int *ro) { @@ -263,6 +272,8 @@ mu_dbm_open (char *name, DBM_FILE *dbm, int flags, int mode, int *ro) DB_CREATE | DB_INIT_LOCK | DB_INIT_MPOOL); if (mu_dbm_errno) return MU_ERR_FAILURE; + dbenv->db_errcall = mu_dbm_errcall_fcn; + # else if (mu_dbm_errno = db_env_create (&dbenv, 0)) { @@ -271,6 +282,8 @@ mu_dbm_open (char *name, DBM_FILE *dbm, int flags, int mode, int *ro) return MU_ERR_FAILURE; } + dbenv->set_errcall (dbenv, mu_dbm_errcall_fcn); + if (mu_dbm_errno = dbenv->open (dbenv, mailfromd_state_dir, DB_CREATE | DB_INIT_CDB | DB_INIT_MPOOL, 0600)) |