X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fsrc%2Flookups%2Fdbmdb.c;h=f5614fdacb7ddfac67b3edfed9e583803bf6cb1c;hb=84227d174eec333d01ff494695bea0febf11575e;hp=4ff81afe696f927ffbc4ac34236a6a07065e7e8e;hpb=67a57a5afd313490a8763d60ec4df857b9cf239b;p=user%2Fhenk%2Fcode%2Fexim.git diff --git a/src/src/lookups/dbmdb.c b/src/src/lookups/dbmdb.c index 4ff81afe6..f5614fdac 100644 --- a/src/src/lookups/dbmdb.c +++ b/src/src/lookups/dbmdb.c @@ -3,6 +3,7 @@ *************************************************/ /* Copyright (c) University of Cambridge 1995 - 2018 */ +/* Copyright (c) The Exim Maintainers 2020 */ /* See the file NOTICE for conditions of use and distribution. */ #include "../exim.h" @@ -25,11 +26,7 @@ EXIM_DB *yield = NULL; if ((s = Ustrrchr(dirname, '/'))) *s = '\0'; EXIM_DBOPEN(filename, dirname, O_RDONLY, 0, &yield); if (!yield) - { - int save_errno = errno; - *errmsg = string_open_failed(errno, "%s as a %s file", filename, EXIM_DBTYPE); - errno = save_errno; - } + *errmsg = string_open_failed("%s as a %s file", filename, EXIM_DBTYPE); return yield; } @@ -51,7 +48,6 @@ dbmdb_check(void *handle, const uschar *filename, int modemask, uid_t *owners, gid_t *owngroups, uschar **errmsg) { int rc; -handle = handle; /* Keep picky compilers happy */ #if defined(USE_DB) || defined(USE_TDB) || defined(USE_GDBM) rc = lf_check_file(-1, filename, S_IFREG, modemask, owners, owngroups, @@ -97,10 +93,6 @@ dbmdb_find(void * handle, const uschar * filename, const uschar * keystring, EXIM_DB *d = (EXIM_DB *)handle; EXIM_DATUM key, data; -filename = filename; /* Keep picky compilers happy */ -errmsg = errmsg; -do_cache = do_cache; - EXIM_DATUM_INIT(key); /* Some DBM libraries require datums to */ EXIM_DATUM_INIT(data); /* be cleared before use. */ EXIM_DATUM_DATA(key) = CS keystring; @@ -245,39 +237,39 @@ fprintf(f, "Library version: DBM: Exim version %s\n", EXIM_VERSION_STR); lookup_info dbm_lookup_info = { - US"dbm", /* lookup name */ - lookup_absfile, /* uses absolute file name */ - dbmdb_open, /* open function */ - dbmdb_check, /* check function */ - dbmdb_find, /* find function */ - dbmdb_close, /* close function */ - NULL, /* no tidy function */ - NULL, /* no quoting function */ - dbm_version_report /* version reporting */ + .name = US"dbm", /* lookup name */ + .type = lookup_absfile, /* uses absolute file name */ + .open = dbmdb_open, /* open function */ + .check = dbmdb_check, /* check function */ + .find = dbmdb_find, /* find function */ + .close = dbmdb_close, /* close function */ + .tidy = NULL, /* no tidy function */ + .quote = NULL, /* no quoting function */ + .version_report = dbm_version_report /* version reporting */ }; lookup_info dbmz_lookup_info = { - US"dbmnz", /* lookup name */ - lookup_absfile, /* uses absolute file name */ - dbmdb_open, /* sic */ /* open function */ - dbmdb_check, /* sic */ /* check function */ - dbmnz_find, /* find function */ - dbmdb_close, /* sic */ /* close function */ - NULL, /* no tidy function */ - NULL, /* no quoting function */ - NULL /* no version reporting (redundant) */ + .name = US"dbmnz", /* lookup name */ + .type = lookup_absfile, /* uses absolute file name */ + .open = dbmdb_open, /* sic */ /* open function */ + .check = dbmdb_check, /* sic */ /* check function */ + .find = dbmnz_find, /* find function */ + .close = dbmdb_close, /* sic */ /* close function */ + .tidy = NULL, /* no tidy function */ + .quote = NULL, /* no quoting function */ + .version_report = NULL /* no version reporting (redundant) */ }; lookup_info dbmjz_lookup_info = { - US"dbmjz", /* lookup name */ - lookup_absfile, /* uses absolute file name */ - dbmdb_open, /* sic */ /* open function */ - dbmdb_check, /* sic */ /* check function */ - dbmjz_find, /* find function */ - dbmdb_close, /* sic */ /* close function */ - NULL, /* no tidy function */ - NULL, /* no quoting function */ - NULL /* no version reporting (redundant) */ + .name = US"dbmjz", /* lookup name */ + .type = lookup_absfile, /* uses absolute file name */ + .open = dbmdb_open, /* sic */ /* open function */ + .check = dbmdb_check, /* sic */ /* check function */ + .find = dbmjz_find, /* find function */ + .close = dbmdb_close, /* sic */ /* close function */ + .tidy = NULL, /* no tidy function */ + .quote = NULL, /* no quoting function */ + .version_report = NULL /* no version reporting (redundant) */ }; #ifdef DYNLOOKUP