X-Git-Url: https://vcs.fsf.org/?p=exim.git;a=blobdiff_plain;f=src%2Fsrc%2Flookups%2Fcdb.c;h=ba925dc12cb7cda6ca2bba60ac0609a3d4d1ed3c;hp=e6b1541ccc68e102d5959095a3001fce1a984c49;hb=bfe645c1570343d3adca657ab67998e122ca8792;hpb=0d7eb84a5719dda876c4b7def944d721cd259e19 diff --git a/src/src/lookups/cdb.c b/src/src/lookups/cdb.c index e6b1541cc..ba925dc12 100644 --- a/src/src/lookups/cdb.c +++ b/src/src/lookups/cdb.c @@ -1,5 +1,3 @@ -/* $Cambridge: exim/src/src/lookups/cdb.c,v 1.2 2005/06/07 15:20:56 ph10 Exp $ */ - /************************************************* * Exim - an Internet mail transport agent * *************************************************/ @@ -20,6 +18,9 @@ * Changed over to using unsigned chars * Makes use of lf_check_file() for file checking * -------------------------------------------------------------- + * Modified by The Exim Maintainers 2015: + * const propagation + * -------------------------------------------------------------- * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -56,7 +57,6 @@ #include "../exim.h" #include "lf_functions.h" -#include "cdb.h" #ifdef HAVE_MMAP # include @@ -144,7 +144,9 @@ cdb_unpack(uschar *buf) return num; } -void * +static void cdb_close(void *handle); + +static void * cdb_open(uschar *filename, uschar **errmsg) { @@ -245,7 +247,7 @@ cdb_open(uschar *filename, * Check entry point * *************************************************/ -BOOL +static BOOL cdb_check(void *handle, uschar *filename, int modemask, @@ -270,14 +272,14 @@ cdb_check(void *handle, * Find entry point * *************************************************/ -int +static int cdb_find(void *handle, uschar *filename, - uschar *keystring, + const uschar *keystring, int key_len, uschar **result, uschar **errmsg, - BOOL *do_cache) + uint *do_cache) { struct cdb_state * cdbp = handle; uint32 item_key_len, @@ -418,7 +420,7 @@ cdb_find(void *handle, /* See local README for interface description */ -void +static void cdb_close(void *handle) { struct cdb_state * cdbp = handle; @@ -431,7 +433,45 @@ struct cdb_state * cdbp = handle; } #endif /* HAVE_MMAP */ - close(cdbp->fileno); + (void)close(cdbp->fileno); } + + +/************************************************* +* Version reporting entry point * +*************************************************/ + +/* See local README for interface description. */ + +#include "../version.h" + +void +cdb_version_report(FILE *f) +{ +#ifdef DYNLOOKUP +fprintf(f, "Library version: CDB: Exim version %s\n", EXIM_VERSION_STR); +#endif +} + + +lookup_info cdb_lookup_info = { + US"cdb", /* lookup name */ + lookup_absfile, /* uses absolute file name */ + cdb_open, /* open function */ + cdb_check, /* check function */ + cdb_find, /* find function */ + cdb_close, /* close function */ + NULL, /* no tidy function */ + NULL, /* no quoting function */ + cdb_version_report /* version reporting */ +}; + +#ifdef DYNLOOKUP +#define cdb_lookup_module_info _lookup_module_info +#endif + +static lookup_info *_lookup_list[] = { &cdb_lookup_info }; +lookup_module_info cdb_lookup_module_info = { LOOKUP_MODULE_INFO_MAGIC, _lookup_list, 1 }; + /* End of lookups/cdb.c */