[exim-cvs] Lookups: per-searchtype options framework

Top Page
Delete this message
Reply to this message
Author: Exim Git Commits Mailing List
Date:  
To: exim-cvs
Subject: [exim-cvs] Lookups: per-searchtype options framework
Gitweb: https://git.exim.org/exim.git/commitdiff/67a57a5afd313490a8763d60ec4df857b9cf239b
Commit:     67a57a5afd313490a8763d60ec4df857b9cf239b
Parent:     298849d8ea217fd104d167f5233bd11240b3ddae
Author:     Jeremy Harris <jgh146exb@???>
AuthorDate: Fri Apr 3 14:10:43 2020 +0100
Committer:  Jeremy Harris <jgh146exb@???>
CommitDate: Fri Apr 3 14:25:52 2020 +0100


    Lookups: per-searchtype options framework
---
 src/src/expand.c          |   9 +-
 src/src/functions.h       |   4 +-
 src/src/lookupapi.h       |   3 +-
 src/src/lookups/cdb.c     |   3 +-
 src/src/lookups/dbmdb.c   |  13 +-
 src/src/lookups/dnsdb.c   |   3 +-
 src/src/lookups/dsearch.c |   3 +-
 src/src/lookups/ibase.c   |   5 +-
 src/src/lookups/json.c    |   3 +-
 src/src/lookups/ldap.c    |   9 +-
 src/src/lookups/lmdb.c    |   2 +-
 src/src/lookups/lsearch.c |  12 +-
 src/src/lookups/mysql.c   |   3 +-
 src/src/lookups/nis.c     |   6 +-
 src/src/lookups/nisplus.c |   3 +-
 src/src/lookups/oracle.c  |   6 +-
 src/src/lookups/passwd.c  |   3 +-
 src/src/lookups/pgsql.c   |   3 +-
 src/src/lookups/redis.c   |   2 +-
 src/src/lookups/spf.c     |   3 +-
 src/src/lookups/sqlite.c  |   3 +-
 src/src/lookups/testdb.c  |   3 +-
 src/src/lookups/whoson.c  |   2 +-
 src/src/match.c           |   6 +-
 src/src/search.c          |  52 ++--
 src/src/verify.c          |  24 +-
 test/stderr/0002          |   8 +-
 test/stderr/0085          |  36 +--
 test/stderr/0123          |  72 ++---
 test/stderr/0387          | 144 +++++-----
 test/stderr/0403          |   8 +-
 test/stderr/0414          |  16 +-
 test/stderr/0437          |  20 +-
 test/stderr/0464          |  12 +-
 test/stderr/0471          | 670 +++++++++++++++++++++++-----------------------
 test/stderr/0484          |  40 +--
 test/stderr/0999          |   2 +-
 test/stderr/2200          |  16 +-
 test/stderr/2201          |  36 +--
 test/stderr/2202          |   4 +-
 test/stderr/2600          |  68 ++---
 test/stderr/2610          |  84 +++---
 test/stderr/2620          |  88 +++---
 test/stderr/3201          |   8 +-
 test/stderr/3210          |   4 +-
 test/stderr/3212          |  44 +--
 46 files changed, 806 insertions(+), 762 deletions(-)


diff --git a/src/src/expand.c b/src/src/expand.c
index 2366eb8..de53fe4 100644
--- a/src/src/expand.c
+++ b/src/src/expand.c
@@ -4779,7 +4779,7 @@ while (*s != 0)
       int expand_setup = 0;
       int nameptr = 0;
       uschar *key, *filename;
-      const uschar *affix;
+      const uschar * affix, * opts;
       uschar *save_lookup_value = lookup_value;
       int save_expand_nmax =
         save_expand_strings(save_expand_nstring, save_expand_nlength);
@@ -4830,9 +4830,8 @@ while (*s != 0)
       /* Now check for the individual search type and any partial or default
       options. Only those types that are actually in the binary are valid. */


-      stype = search_findtype_partial(name, &partial, &affix, &affixlen,
-        &starflags);
-      if (stype < 0)
+      if ((stype = search_findtype_partial(name, &partial, &affix, &affixlen,
+      &starflags, &opts)) < 0)
         {
         expand_string_message = search_error_message;
         goto EXPAND_FAILED;
@@ -4925,7 +4924,7 @@ while (*s != 0)
           goto EXPAND_FAILED;
           }
         lookup_value = search_find(handle, filename, key, partial, affix,
-          affixlen, starflags, &expand_setup);
+          affixlen, starflags, &expand_setup, opts);
         if (f.search_find_defer)
           {
           expand_string_message =
diff --git a/src/src/functions.h b/src/src/functions.h
index 90e6e67..f387756 100644
--- a/src/src/functions.h
+++ b/src/src/functions.h
@@ -439,10 +439,10 @@ extern void    route_show_supported(FILE *);
 extern void    route_tidyup(void);


 extern uschar *search_find(void *, const uschar *, uschar *, int,
-         const uschar *, int, int, int *);
+         const uschar *, int, int, int *, const uschar *);
 extern int     search_findtype(const uschar *, int);
 extern int     search_findtype_partial(const uschar *, int *, const uschar **, int *,
-                 int *);
+                 int *, const uschar **);
 extern void   *search_open(const uschar *, int, int, uid_t *, gid_t *);
 extern void    search_tidyup(void);
 extern void    set_process_info(const char *, ...) PRINTF_FUNCTION(1,2);
diff --git a/src/src/lookupapi.h b/src/src/lookupapi.h
index 07e7af9..a338052 100644
--- a/src/src/lookupapi.h
+++ b/src/src/lookupapi.h
@@ -34,7 +34,8 @@ typedef struct lookup_info {
     int,                          /* length of key or query */
     uschar **,                    /* for returning answer */
     uschar **,                    /* for error message */
-    uint *);                      /* cache TTL, seconds */
+    uint *,                       /* cache TTL, seconds */
+    const uschar *);          /* options */
   void (*close)(                  /* close function */
     void *);                      /* handle */
   void (*tidy)(void);             /* tidy function */
diff --git a/src/src/lookups/cdb.c b/src/src/lookups/cdb.c
index c9a5de1..44c7c4c 100644
--- a/src/src/lookups/cdb.c
+++ b/src/src/lookups/cdb.c
@@ -264,7 +264,8 @@ return lf_check_file(cdbp->fileno, filename, S_IFREG, modemask,


static int
cdb_find(void * handle, const uschar * filename, const uschar * keystring,
- int key_len, uschar ** result, uschar ** errmsg, uint * do_cache)
+ int key_len, uschar ** result, uschar ** errmsg, uint * do_cache,
+ const uschar * opts)
{
struct cdb_state * cdbp = handle;
uint32 item_key_len,
diff --git a/src/src/lookups/dbmdb.c b/src/src/lookups/dbmdb.c
index f3bd6d2..4ff81af 100644
--- a/src/src/lookups/dbmdb.c
+++ b/src/src/lookups/dbmdb.c
@@ -91,7 +91,8 @@ the keylength in order to include the terminating zero. */

static int
dbmdb_find(void * handle, const uschar * filename, const uschar * keystring,
- int length, uschar ** result, uschar ** errmsg, uint * do_cache)
+ int length, uschar ** result, uschar ** errmsg, uint * do_cache,
+ const uschar * opts)
{
EXIM_DB *d = (EXIM_DB *)handle;
EXIM_DATUM key, data;
@@ -124,10 +125,11 @@ return FAIL;

static int
dbmnz_find(void * handle, const uschar * filename, const uschar * keystring,
- int length, uschar ** result, uschar ** errmsg, uint * do_cache)
+ int length, uschar ** result, uschar ** errmsg, uint * do_cache,
+ const uschar * opts)
{
return dbmdb_find(handle, filename, keystring, length-1, result, errmsg,
- do_cache);
+ do_cache, opts);
}


@@ -144,7 +146,8 @@ return dbmdb_find(handle, filename, keystring, length-1, result, errmsg,

static int
dbmjz_find(void * handle, const uschar * filename, const uschar * keystring,
- int length, uschar ** result, uschar ** errmsg, uint * do_cache)
+ int length, uschar ** result, uschar ** errmsg, uint * do_cache,
+ const uschar * opts)
{
uschar *key_item, *key_buffer, *key_p;
const uschar *key_elems = keystring;
@@ -205,7 +208,7 @@ DEBUG(D_lookup) debug_printf_indent("NUL-joined key length: %d\n", key_item_len)
because we've calculated the real length, we need to subtract one more here */

 return dbmdb_find(handle, filename, key_buffer, key_item_len - 1,
-    result, errmsg, do_cache);
+    result, errmsg, do_cache, opts);
 }



diff --git a/src/src/lookups/dnsdb.c b/src/src/lookups/dnsdb.c
index cc711c5..a842d0d 100644
--- a/src/src/lookups/dnsdb.c
+++ b/src/src/lookups/dnsdb.c
@@ -131,7 +131,8 @@ separator, as always, is colon. */

static int
dnsdb_find(void * handle, const uschar * filename, const uschar * keystring,
- int length, uschar ** result, uschar ** errmsg, uint * do_cache)
+ int length, uschar ** result, uschar ** errmsg, uint * do_cache,
+ const uschar * opts)
{
int rc;
int sep = 0;
diff --git a/src/src/lookups/dsearch.c b/src/src/lookups/dsearch.c
index 07931ae..d1cbdf7 100644
--- a/src/src/lookups/dsearch.c
+++ b/src/src/lookups/dsearch.c
@@ -70,7 +70,8 @@ for us. */

static int
dsearch_find(void * handle, const uschar * dirname, const uschar * keystring,
- int length, uschar ** result, uschar ** errmsg, uint * do_cache)
+ int length, uschar ** result, uschar ** errmsg, uint * do_cache,
+ const uschar * opts)
{
struct stat statbuf;
int save_errno;
diff --git a/src/src/lookups/ibase.c b/src/src/lookups/ibase.c
index 2ccb7b4..84feb9f 100644
--- a/src/src/lookups/ibase.c
+++ b/src/src/lookups/ibase.c
@@ -451,7 +451,7 @@ deferred with a retryable error. */

 static int
 ibase_find(void * handle, const uschar * filename, uschar * query, int length,
-           uschar ** result, uschar ** errmsg, uint *do_cache)
+  uschar ** result, uschar ** errmsg, uint * do_cache, const uschar * opts)
 {
 int sep = 0;
 uschar *server;
@@ -463,8 +463,7 @@ do_cache = do_cache;


DEBUG(D_lookup) debug_printf_indent("Interbase query: %s\n", query);

-while ((server = string_nextinlist(&list, &sep, buffer,
-              sizeof(buffer))))
+while ((server = string_nextinlist(&list, &sep, buffer, sizeof(buffer))))
   {
   BOOL defer_break = FALSE;
   int rc = perform_ibase_search(query, server, result, errmsg, &defer_break);
diff --git a/src/src/lookups/json.c b/src/src/lookups/json.c
index f476db3..487b9b5 100644
--- a/src/src/lookups/json.c
+++ b/src/src/lookups/json.c
@@ -80,7 +80,8 @@ return lf_check_file(fileno((FILE *)handle), filename, S_IFREG, modemask,


static int
json_find(void * handle, const uschar * filename, const uschar * keystring,
- int length, uschar ** result, uschar ** errmsg, uint * do_cache)
+ int length, uschar ** result, uschar ** errmsg, uint * do_cache,
+ const uschar * opts)
{
FILE * f = handle;
json_t * j, * j0;
diff --git a/src/src/lookups/ldap.c b/src/src/lookups/ldap.c
index b9a52d2..aa4f3f8 100644
--- a/src/src/lookups/ldap.c
+++ b/src/src/lookups/ldap.c
@@ -1284,7 +1284,8 @@ The handle and filename arguments are not used. */

static int
eldap_find(void * handle, const uschar * filename, const uschar * ldap_url,
- int length, uschar ** result, uschar ** errmsg, uint * do_cache)
+ int length, uschar ** result, uschar ** errmsg, uint * do_cache,
+ const uschar * opts)
{
/* Keep picky compilers happy */
do_cache = do_cache;
@@ -1293,7 +1294,8 @@ return(control_ldap_search(ldap_url, SEARCH_LDAP_SINGLE, result, errmsg));

static int
eldapm_find(void * handle, const uschar * filename, const uschar * ldap_url,
- int length, uschar ** result, uschar ** errmsg, uint * do_cache)
+ int length, uschar ** result, uschar ** errmsg, uint * do_cache,
+ const uschar * opts)
{
/* Keep picky compilers happy */
do_cache = do_cache;
@@ -1302,7 +1304,8 @@ return(control_ldap_search(ldap_url, SEARCH_LDAP_MULTIPLE, result, errmsg));

 static int
 eldapdn_find(void * handle, const uschar * filename, const uschar * ldap_url,
-  int length, uschar ** result, uschar ** errmsg, uint * do_cache)
+  int length, uschar ** result, uschar ** errmsg, uint * do_cache,
+  const uschar * opts)
 {
 /* Keep picky compilers happy */
 do_cache = do_cache;
diff --git a/src/src/lookups/lmdb.c b/src/src/lookups/lmdb.c
index 712261a..61e53fa 100644
--- a/src/src/lookups/lmdb.c
+++ b/src/src/lookups/lmdb.c
@@ -76,7 +76,7 @@ bad:
 static int
 lmdb_find(void * handle, const uschar * filename,
     const uschar * keystring, int length, uschar ** result, uschar ** errmsg,
-    uint * do_cache)
+    uint * do_cache, const uschar * opts)
 {
 int ret;
 MDB_val dbkey, data;
diff --git a/src/src/lookups/lsearch.c b/src/src/lookups/lsearch.c
index 92a76e7..6586b5c 100644
--- a/src/src/lookups/lsearch.c
+++ b/src/src/lookups/lsearch.c
@@ -320,7 +320,8 @@ return FAIL;


static int
lsearch_find(void * handle, const uschar * filename, const uschar * keystring,
- int length, uschar ** result, uschar ** errmsg, uint * do_cache)
+ int length, uschar ** result, uschar ** errmsg, uint * do_cache,
+ const uschar * opts)
{
do_cache = do_cache; /* Keep picky compilers happy */
return internal_lsearch_find(handle, filename, keystring, length, result,
@@ -337,7 +338,8 @@ return internal_lsearch_find(handle, filename, keystring, length, result,

static int
wildlsearch_find(void * handle, const uschar * filename, const uschar * keystring,
- int length, uschar ** result, uschar ** errmsg, uint * do_cache)
+ int length, uschar ** result, uschar ** errmsg, uint * do_cache,
+ const uschar * opts)
{
do_cache = do_cache; /* Keep picky compilers happy */
return internal_lsearch_find(handle, filename, keystring, length, result,
@@ -354,7 +356,8 @@ return internal_lsearch_find(handle, filename, keystring, length, result,

static int
nwildlsearch_find(void * handle, const uschar * filename, const uschar * keystring,
- int length, uschar ** result, uschar ** errmsg, uint * do_cache)
+ int length, uschar ** result, uschar ** errmsg, uint * do_cache,
+ const uschar * opts)
{
do_cache = do_cache; /* Keep picky compilers happy */
return internal_lsearch_find(handle, filename, keystring, length, result,
@@ -372,7 +375,8 @@ return internal_lsearch_find(handle, filename, keystring, length, result,

static int
iplsearch_find(void * handle, uschar const * filename, const uschar * keystring,
- int length, uschar ** result, uschar ** errmsg, uint * do_cache)
+ int length, uschar ** result, uschar ** errmsg, uint * do_cache,
+ const uschar * opts)
{
do_cache = do_cache; /* Keep picky compilers happy */

diff --git a/src/src/lookups/mysql.c b/src/src/lookups/mysql.c
index 745c650..7651353 100644
--- a/src/src/lookups/mysql.c
+++ b/src/src/lookups/mysql.c
@@ -390,7 +390,8 @@ shared with other SQL lookups. */

static int
mysql_find(void * handle, const uschar * filename, const uschar * query,
- int length, uschar ** result, uschar ** errmsg, uint * do_cache)
+ int length, uschar ** result, uschar ** errmsg, uint * do_cache,
+ const uschar * opts)
{
return lf_sqlperform(US"MySQL", US"mysql_servers", mysql_servers, query,
result, errmsg, do_cache, perform_mysql_search);
diff --git a/src/src/lookups/nis.c b/src/src/lookups/nis.c
index 10ecf74..6b7e7a0 100644
--- a/src/src/lookups/nis.c
+++ b/src/src/lookups/nis.c
@@ -42,7 +42,8 @@ code. */

static int
nis_find(void * handle, const uschar * filename, const uschar * keystring,
- int length, uschar ** result, uschar ** errmsg, uint * do_cache)
+ int length, uschar ** result, uschar ** errmsg, uint * do_cache,
+ const uschar * opts)
{
int rc;
uschar *nis_data;
@@ -68,7 +69,8 @@ return (rc == YPERR_KEY || rc == YPERR_MAP)? FAIL : DEFER;

static int
nis0_find(void * handle, const uschar * filename, const uschar * keystring,
- int length, uschar ** result, uschar ** errmsg, uint * do_cache)
+ int length, uschar ** result, uschar ** errmsg, uint * do_cache,
+ const uschar * opts)
{
int rc;
uschar *nis_data;
diff --git a/src/src/lookups/nisplus.c b/src/src/lookups/nisplus.c
index 370f6a6..cd72a6b 100644
--- a/src/src/lookups/nisplus.c
+++ b/src/src/lookups/nisplus.c
@@ -43,7 +43,8 @@ equals sign. */

static int
nisplus_find(void * handle, const uschar * filename, const uschar * query,
- int length, uschar ** result, uschar ** errmsg, uint * do_cache)
+ int length, uschar ** result, uschar ** errmsg, uint * do_cache,
+ const uschar * opts)
{
int error_error = FAIL;
const uschar * field_name = NULL;
diff --git a/src/src/lookups/oracle.c b/src/src/lookups/oracle.c
index e22ff89..be9e162 100644
--- a/src/src/lookups/oracle.c
+++ b/src/src/lookups/oracle.c
@@ -504,7 +504,7 @@ deferred with a retryable error. */

static int
oracle_find(void * handle, const uschar * filename, uschar * query, int length,
- uschar ** result, uschar ** errmsg, uint * do_cache)
+ uschar ** result, uschar ** errmsg, uint * do_cache, const uschar * opts)
{
int sep = 0;
uschar *server;
@@ -515,14 +515,14 @@ do_cache = do_cache; /* Placate picky compilers */

DEBUG(D_lookup) debug_printf_indent("ORACLE query: %s\n", query);

-while ((server = string_nextinlist(&list, &sep, buffer, sizeof(buffer))) != NULL)
+while ((server = string_nextinlist(&list, &sep, buffer, sizeof(buffer))))
{
BOOL defer_break;
int rc = perform_oracle_search(query, server, result, errmsg, &defer_break);
if (rc != DEFER || defer_break) return rc;
}

-if (oracle_servers == NULL)
+if (!oracle_servers)
*errmsg = "no ORACLE servers defined (oracle_servers option)";

 return DEFER;
diff --git a/src/src/lookups/passwd.c b/src/src/lookups/passwd.c
index 58222f6..92c2dda 100644
--- a/src/src/lookups/passwd.c
+++ b/src/src/lookups/passwd.c
@@ -34,7 +34,8 @@ return (void *)(-1);     /* Just return something non-null */


static int
passwd_find(void * handle, const uschar * filename, const uschar * keystring,
- int length, uschar ** result, uschar ** errmsg, uint * do_cache)
+ int length, uschar ** result, uschar ** errmsg, uint * do_cache,
+ const uschar * opts)
{
struct passwd *pw;

diff --git a/src/src/lookups/pgsql.c b/src/src/lookups/pgsql.c
index cf287b1..90dda60 100644
--- a/src/src/lookups/pgsql.c
+++ b/src/src/lookups/pgsql.c
@@ -382,7 +382,8 @@ shared with other SQL lookups. */

static int
pgsql_find(void * handle, const uschar * filename, const uschar * query,
- int length, uschar ** result, uschar ** errmsg, uint * do_cache)
+ int length, uschar ** result, uschar ** errmsg, uint * do_cache,
+ const uschar * opts)
{
return lf_sqlperform(US"PostgreSQL", US"pgsql_servers", pgsql_servers, query,
result, errmsg, do_cache, perform_pgsql_search);
diff --git a/src/src/lookups/redis.c b/src/src/lookups/redis.c
index b5c2eda..84a2dc6 100644
--- a/src/src/lookups/redis.c
+++ b/src/src/lookups/redis.c
@@ -377,7 +377,7 @@ static int
redis_find(void * handle __attribute__((unused)),
const uschar * filename __attribute__((unused)),
const uschar * command, int length, uschar ** result, uschar ** errmsg,
- uint * do_cache)
+ uint * do_cache, const uschar * opts)
{
return lf_sqlperform(US"Redis", US"redis_servers", redis_servers, command,
result, errmsg, do_cache, perform_redis_search);
diff --git a/src/src/lookups/spf.c b/src/src/lookups/spf.c
index 243c271..5c753d9 100644
--- a/src/src/lookups/spf.c
+++ b/src/src/lookups/spf.c
@@ -65,7 +65,8 @@ if (spf_server) SPF_server_free(spf_server);

static int
spf_find(void * handle, const uschar * filename, const uschar * keystring,
- int key_len, uschar ** result, uschar ** errmsg, uint * do_cache)
+ int key_len, uschar ** result, uschar ** errmsg, uint * do_cache,
+ const uschar * opts)
{
SPF_server_t *spf_server = handle;
SPF_request_t *spf_request;
diff --git a/src/src/lookups/sqlite.c b/src/src/lookups/sqlite.c
index 51d28c2..a7cca54 100644
--- a/src/src/lookups/sqlite.c
+++ b/src/src/lookups/sqlite.c
@@ -73,7 +73,8 @@ return 0;

 static int
 sqlite_find(void * handle, const uschar * filename, const uschar * query,
-  int length, uschar ** result, uschar ** errmsg, uint * do_cache)
+  int length, uschar ** result, uschar ** errmsg, uint * do_cache,
+  const uschar * opts)
 {
 int ret;
 gstring * res = NULL;
diff --git a/src/src/lookups/testdb.c b/src/src/lookups/testdb.c
index a4f0af7..c2d3938 100644
--- a/src/src/lookups/testdb.c
+++ b/src/src/lookups/testdb.c
@@ -38,7 +38,8 @@ return (void *)(1);    /* Just return something non-null */


 static int
 testdb_find(void * handle, const uschar * filename, const uschar * query,
-  int length, uschar ** result, uschar ** errmsg, uint * do_cache)
+  int length, uschar ** result, uschar ** errmsg, uint * do_cache,
+  const uschar * opts)
 {
 handle = handle;          /* Keep picky compilers happy */
 filename = filename;
diff --git a/src/src/lookups/whoson.c b/src/src/lookups/whoson.c
index 20d0133..8ece134 100644
--- a/src/src/lookups/whoson.c
+++ b/src/src/lookups/whoson.c
@@ -36,7 +36,7 @@ return (void *)(1);    /* Just return something non-null */


 static int
 whoson_find(void * handle, const uschar * filename, uschar * query, int length,
-  uschar ** result, uschar ** errmsg, uint * do_cache)
+  uschar ** result, uschar ** errmsg, uint * do_cache, const uschar * opts)
 {
 uschar buffer[80];
 handle = handle;          /* Keep picky compilers happy */
diff --git a/src/src/match.c b/src/src/match.c
index 4cd9259..2ad28a9 100644
--- a/src/src/match.c
+++ b/src/src/match.c
@@ -97,7 +97,7 @@ check_string(void *arg, const uschar *pattern, const uschar **valueptr, uschar *
 const check_string_block *cb = arg;
 int search_type, partial, affixlen, starflags;
 int expand_setup = cb->expand_setup;
-const uschar *affix;
+const uschar * affix, * opts;
 uschar *s;
 uschar *filename = NULL;
 uschar *keyquery, *result, *semicolon;
@@ -263,7 +263,7 @@ the part of the string preceding the semicolon. */


*semicolon = 0;
search_type = search_findtype_partial(pattern, &partial, &affix, &affixlen,
- &starflags);
+ &starflags, &opts);
*semicolon = ';';
if (search_type < 0) log_write(0, LOG_MAIN|LOG_PANIC_DIE, "%s",
search_error_message);
@@ -299,7 +299,7 @@ no search_close() because of the caching arrangements. */
if (!(handle = search_open(filename, search_type, 0, NULL, NULL)))
log_write(0, LOG_MAIN|LOG_PANIC_DIE, "%s", search_error_message);
result = search_find(handle, filename, keyquery, partial, affix, affixlen,
- starflags, &expand_setup);
+ starflags, &expand_setup, opts);

 if (!result) return f.search_find_defer? DEFER : FAIL;
 if (valueptr) *valueptr = result;
diff --git a/src/src/search.c b/src/src/search.c
index d67bdc5..51bbc6a 100644
--- a/src/src/search.c
+++ b/src/src/search.c
@@ -115,6 +115,7 @@ Arguments:
                  otherwise it's a literal string
   afflen       the length of the affix
   starflags    where to put the SEARCH_STAR and SEARCH_STARAT flags
+  opts           where to put the options


 Returns:     +ve => valid lookup name; value is offset in lookup_list
              -ve => invalid name; message in search_error_message.
@@ -122,11 +123,12 @@ Returns:     +ve => valid lookup name; value is offset in lookup_list


int
search_findtype_partial(const uschar *name, int *ptypeptr, const uschar **ptypeaff,
- int *afflen, int *starflags)
+ int *afflen, int *starflags, const uschar ** opts)
{
int len, stype;
int pv = -1;
const uschar *ss = name;
+const uschar * t;

 *starflags = 0;
 *ptypeaff = NULL;
@@ -167,8 +169,10 @@ if (Ustrncmp(name, "partial", 7) == 0)
     }
   }


-/* Now we are left with a lookup name, possibly followed by * or *@. */
+/* Now we are left with a lookup name, possibly followed by * or *@,
+and then by options starting with a "," */

+#ifdef old
len = Ustrlen(ss);
if (len >= 2 && Ustrncmp(ss + len - 2, "*@", 2) == 0)
{
@@ -180,6 +184,18 @@ else if (len >= 1 && ss[len-1] == '*')
*starflags |= SEARCH_STAR;
len--;
}
+#endif
+
+len = Ustrlen(ss);
+if ((t = Ustrchr(ss, '*')))
+ {
+ len = t - ss;
+ *starflags |= (t[1] == '@' ? SEARCH_STARAT : SEARCH_STAR);
+ }
+else
+ t = ss;
+
+* USS opts = (t = Ustrchr(t, ',')) ? string_copy(t+1) : NULL;

 /* Check for the individual search type. Only those that are actually in the
 binary are valid. For query-style types, "partial" and default types are
@@ -454,6 +470,7 @@ Arguments:
                NULL for query-style searches
   keystring    the keystring for single-key+file lookups, or
                the querystring for query-style lookups
+  opts           type-specific options


 Returns:       a pointer to a dynamic string containing the answer,
                or NULL if the query failed or was deferred; in the
@@ -462,7 +479,8 @@ Returns:       a pointer to a dynamic string containing the answer,
 */


static uschar *
-internal_search_find(void * handle, const uschar * filename, uschar * keystring)
+internal_search_find(void * handle, const uschar * filename, uschar * keystring,
+ const uschar * opts)
{
tree_node * t = (tree_node *)handle;
search_cache * c = (search_cache *)(t->data.ptr);
@@ -478,8 +496,9 @@ search_error_message = US"";
f.search_find_defer = FALSE;

DEBUG(D_lookup) debug_printf_indent("internal_search_find: file=\"%s\"\n "
- "type=%s key=\"%s\"\n", filename,
- lookup_list[search_type]->name, keystring);
+ "type=%s key=\"%s\" opts=%s%s%s\n", filename,
+ lookup_list[search_type]->name, keystring,
+ opts ? "\"" : "", opts, opts ? "\"" : "");

/* Insurance. If the keystring is empty, just fail. */

@@ -520,7 +539,7 @@ else
distinguish if necessary. */

   if (lookup_list[search_type]->find(c->handle, filename, keystring, keylength,
-      &data, &search_error_message, &do_cache) == DEFER)
+      &data, &search_error_message, &do_cache, opts) == DEFER)
     f.search_find_defer = TRUE;


   /* A record that has been found is now in data, which is either NULL
@@ -598,6 +617,7 @@ Arguments:
   starflags      SEARCH_STAR and SEARCH_STARAT flags
   expand_setup   pointer to offset for setting up expansion strings;
                  don't do any if < 0
+  opts         type-specific options


 Returns:         a pointer to a dynamic string containing the answer,
                  or NULL if the query failed or was deferred; in the
@@ -607,7 +627,7 @@ Returns:         a pointer to a dynamic string containing the answer,
 uschar *
 search_find(void * handle, const uschar * filename, uschar * keystring,
   int partial, const uschar * affix, int affixlen, int starflags,
-  int * expand_setup)
+  int * expand_setup, const uschar * opts)
 {
 tree_node *t = (tree_node *)handle;
 BOOL set_null_wild = FALSE;
@@ -617,9 +637,11 @@ DEBUG(D_lookup)
   {
   if (partial < 0) affixlen = 99;   /* So that "NULL" prints */
   debug_printf_indent("search_find: file=\"%s\"\n  key=\"%s\" "
-    "partial=%d affix=%.*s starflags=%x\n",
-    (filename == NULL)? US"NULL" : filename,
-    keystring, partial, affixlen, affix, starflags);
+    "partial=%d affix=%.*s starflags=%x opts=%s%s%s\n",
+    filename ? filename : US"NULL",
+    keystring, partial, affixlen, affix, starflags,
+    opts ? "\"" : "", opts, opts ? "\"" : "");
+
   }


/* Arrange to put this database at the top of the LRU chain if it is a type
@@ -669,7 +691,7 @@ DEBUG(D_lookup)
/* First of all, try to match the key string verbatim. If matched a complete
entry but could have been partial, flag to set up variables. */

-yield = internal_search_find(handle, filename, keystring);
+yield = internal_search_find(handle, filename, keystring, opts);
if (f.search_find_defer) return NULL;

 if (yield) { if (partial >= 0) set_null_wild = TRUE; }
@@ -694,7 +716,7 @@ else if (partial >= 0)
     Ustrncpy(keystring2, affix, affixlen);
     Ustrcpy(keystring2 + affixlen, keystring);
     DEBUG(D_lookup) debug_printf_indent("trying partial match %s\n", keystring2);
-    yield = internal_search_find(handle, filename, keystring2);
+    yield = internal_search_find(handle, filename, keystring2, opts);
     if (f.search_find_defer) return NULL;
     }


@@ -732,7 +754,7 @@ else if (partial >= 0)
         }


       DEBUG(D_lookup) debug_printf_indent("trying partial match %s\n", keystring3);
-      yield = internal_search_find(handle, filename, keystring3);
+      yield = internal_search_find(handle, filename, keystring3, opts);
       if (f.search_find_defer) return NULL;
       if (yield)
         {
@@ -773,7 +795,7 @@ if (!yield  &&  starflags & SEARCH_STARAT)
     *atat = '*';


     DEBUG(D_lookup) debug_printf_indent("trying default match %s\n", atat);
-    yield = internal_search_find(handle, filename, atat);
+    yield = internal_search_find(handle, filename, atat, opts);
     *atat = savechar;
     if (f.search_find_defer) return NULL;


@@ -796,7 +818,7 @@ and the second is empty. */
 if (!yield  &&  starflags & (SEARCH_STAR|SEARCH_STARAT))
   {
   DEBUG(D_lookup) debug_printf_indent("trying to match *\n");
-  yield = internal_search_find(handle, filename, US"*");
+  yield = internal_search_find(handle, filename, US"*", opts);
   if (yield && expand_setup && *expand_setup >= 0)
     {
     *expand_setup += 1;
diff --git a/src/src/verify.c b/src/src/verify.c
index 7b9d006..dc2e576 100644
--- a/src/src/verify.c
+++ b/src/src/verify.c
@@ -2890,7 +2890,7 @@ BOOL iplookup = FALSE;
 BOOL isquery = FALSE;
 BOOL isiponly = cb->host_name != NULL && cb->host_name[0] == 0;
 const uschar *t;
-uschar *semicolon;
+uschar * semicolon, * endname, * opts;
 uschar **aliases;


/* Optimize for the special case when the pattern is "*". */
@@ -2949,15 +2949,14 @@ if (*t == 0 || (*t == '/' && t != ss))

/* See if there is a semicolon in the pattern */

-semicolon = Ustrchr(ss, ';');
+if ((semicolon = Ustrchr(ss, ';')))
+ endname = (opts = Ustrchr(ss, ',')) ? opts : semicolon;

/* If we are doing an IP address only match, then all lookups must be IP
address lookups, even if there is no "net-". */

if (isiponly)
- {
iplookup = semicolon != NULL;
- }

/* Otherwise, if the item is of the form net[n]-lookup;<file|query> then it is
a lookup on a masked IP network, in textual form. We obey this code even if we
@@ -2967,12 +2966,12 @@ key is implicit. For query-style lookups the key is specified in the query.
From release 4.30, the use of net- for query style is no longer needed, but we
retain it for backward compatibility. */

-if (Ustrncmp(ss, "net", 3) == 0 && semicolon != NULL)
+if (Ustrncmp(ss, "net", 3) == 0 && semicolon)
{
mlen = 0;
for (t = ss + 3; isdigit(*t); t++) mlen = mlen * 10 + *t - '0';
if (mlen == 0 && t == ss+3) mlen = -1; /* No mask supplied */
- iplookup = (*t++ == '-');
+ iplookup = *t++ == '-';
}
else
t = ss;
@@ -2990,7 +2989,7 @@ if (iplookup)

/* Find the search type */

- search_type = search_findtype(t, semicolon - t);
+ search_type = search_findtype(t, endname - t);

   if (search_type < 0) log_write(0, LOG_MAIN|LOG_PANIC_DIE, "%s",
     search_error_message);
@@ -3033,7 +3032,7 @@ if (iplookup)
   if (!(handle = search_open(filename, search_type, 0, NULL, NULL)))
     log_write(0, LOG_MAIN|LOG_PANIC_DIE, "%s", search_error_message);


- result = search_find(handle, filename, key, -1, NULL, 0, 0, NULL);
+ result = search_find(handle, filename, key, -1, NULL, 0, 0, NULL, opts);
if (valueptr) *valueptr = result;
return result ? OK : f.search_find_defer ? DEFER: FAIL;
}
@@ -3091,7 +3090,7 @@ using the general string matching function. When this function is called for
outgoing hosts, the name is always given explicitly. If it is NULL, it means we
must use sender_host_name and its aliases, looking them up if necessary. */

-if (cb->host_name != NULL)   /* Explicit host name given */
+if (cb->host_name)   /* Explicit host name given */
   return match_check_string(cb->host_name, ss, -1, TRUE, TRUE, TRUE,
     valueptr);


@@ -3101,13 +3100,14 @@ query does not contain $sender_host_name. From release 4.23, a reference to
$sender_host_name causes it to be looked up, so we don't need to do the lookup
on spec. */

-if ((semicolon = Ustrchr(ss, ';')) != NULL)
+if ((semicolon = Ustrchr(ss, ';')))
{
- const uschar *affix;
+ const uschar * affix, * opts;
int partial, affixlen, starflags, id;

   *semicolon = 0;
-  id = search_findtype_partial(ss, &partial, &affix, &affixlen, &starflags);
+  id = search_findtype_partial(ss, &partial, &affix, &affixlen, &starflags,
+      &opts);
   *semicolon=';';


   if (id < 0)                           /* Unknown lookup type */
diff --git a/test/stderr/0002 b/test/stderr/0002
index 7dd84d8..9d6fb5d 100644
--- a/test/stderr/0002
+++ b/test/stderr/0002
@@ -318,12 +318,12 @@ sender_fullhost = ten-1.test.ex [V4NET.0.0.1]
 sender_rcvhost = ten-1.test.ex ([V4NET.0.0.1])
 search_open: lsearch "TESTSUITE/aux-fixed/0002.lsearch"
 search_find: file="TESTSUITE/aux-fixed/0002.lsearch"
-  key="ten-1.test.ex" partial=2 affix=*. starflags=0
+  key="ten-1.test.ex" partial=2 affix=*. starflags=0 opts=NULL
 LRU list:
   0TESTSUITE/aux-fixed/0002.lsearch
   End
 internal_search_find: file="TESTSUITE/aux-fixed/0002.lsearch"
-  type=lsearch key="ten-1.test.ex"
+  type=lsearch key="ten-1.test.ex" opts=NULL
 file lookup required for ten-1.test.ex
   in TESTSUITE/aux-fixed/0002.lsearch
 lookup yielded: 
@@ -364,12 +364,12 @@ processing "deny" (TESTSUITE/test-config 48)
 check hosts = net-lsearch;TESTSUITE/aux-fixed/0002.lsearch
 search_open: lsearch "TESTSUITE/aux-fixed/0002.lsearch"
 search_find: file="TESTSUITE/aux-fixed/0002.lsearch"
-  key="V4NET.0.0.2" partial=-1 affix=NULL starflags=0
+  key="V4NET.0.0.2" partial=-1 affix=NULL starflags=0 opts=NULL
 LRU list:
   0TESTSUITE/aux-fixed/0002.lsearch
   End
 internal_search_find: file="TESTSUITE/aux-fixed/0002.lsearch"
-  type=lsearch key="V4NET.0.0.2"
+  type=lsearch key="V4NET.0.0.2" opts=NULL
 file lookup required for V4NET.0.0.2
   in TESTSUITE/aux-fixed/0002.lsearch
 lookup failed
diff --git a/test/stderr/0085 b/test/stderr/0085
index 94a16b9..702e7f5 100644
--- a/test/stderr/0085
+++ b/test/stderr/0085
@@ -46,12 +46,12 @@ smart.domain in "smart.domain"? yes (matched "smart.domain")
 checking local_parts
  search_open: lsearch "TESTSUITE/aux-fixed/0085.data"
  search_find: file="TESTSUITE/aux-fixed/0085.data"
-   key="smart.domain" partial=-1 affix=NULL starflags=0
+   key="smart.domain" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0085.data
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0085.data"
-   type=lsearch key="smart.domain"
+   type=lsearch key="smart.domain" opts=NULL
  file lookup required for smart.domain
    in TESTSUITE/aux-fixed/0085.data
  lookup yielded: x : y : abc@???
@@ -60,12 +60,12 @@ checking senders
  search_open: lsearch "TESTSUITE/aux-fixed/0085.data"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0085.data"
-   key="smart.domain" partial=-1 affix=NULL starflags=0
+   key="smart.domain" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0085.data
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0085.data"
-   type=lsearch key="smart.domain"
+   type=lsearch key="smart.domain" opts=NULL
  cached data used for lookup of smart.domain
    in TESTSUITE/aux-fixed/0085.data
  lookup yielded: x : y : abc@???
@@ -115,12 +115,12 @@ checking local_parts
  search_open: lsearch "TESTSUITE/aux-fixed/0085.data"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0085.data"
-   key="test.ex" partial=-1 affix=NULL starflags=0
+   key="test.ex" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0085.data
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0085.data"
-   type=lsearch key="test.ex"
+   type=lsearch key="test.ex" opts=NULL
  file lookup required for test.ex
    in TESTSUITE/aux-fixed/0085.data
  lookup yielded: x : y : abc@???
@@ -129,12 +129,12 @@ checking senders
  search_open: lsearch "TESTSUITE/aux-fixed/0085.data"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0085.data"
-   key="test.ex" partial=-1 affix=NULL starflags=0
+   key="test.ex" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0085.data
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0085.data"
-   type=lsearch key="test.ex"
+   type=lsearch key="test.ex" opts=NULL
  cached data used for lookup of test.ex
    in TESTSUITE/aux-fixed/0085.data
  lookup yielded: x : y : abc@???
@@ -149,12 +149,12 @@ checking require_files
  search_open: lsearch "TESTSUITE/aux-fixed/0085.data"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0085.data"
-   key="test.ex.files" partial=-1 affix=NULL starflags=0
+   key="test.ex.files" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0085.data
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0085.data"
-   type=lsearch key="test.ex.files"
+   type=lsearch key="test.ex.files" opts=NULL
  file lookup required for test.ex.files
    in TESTSUITE/aux-fixed/0085.data
  lookup yielded: /etc/passwd
@@ -245,12 +245,12 @@ smart.domain in "smart.domain"? yes (matched "smart.domain")
 checking local_parts
  search_open: lsearch "TESTSUITE/aux-fixed/0085.data"
  search_find: file="TESTSUITE/aux-fixed/0085.data"
-   key="smart.domain" partial=-1 affix=NULL starflags=0
+   key="smart.domain" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0085.data
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0085.data"
-   type=lsearch key="smart.domain"
+   type=lsearch key="smart.domain" opts=NULL
  file lookup required for smart.domain
    in TESTSUITE/aux-fixed/0085.data
  lookup yielded: x : y : abc@???
@@ -259,12 +259,12 @@ checking senders
  search_open: lsearch "TESTSUITE/aux-fixed/0085.data"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0085.data"
-   key="smart.domain" partial=-1 affix=NULL starflags=0
+   key="smart.domain" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0085.data
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0085.data"
-   type=lsearch key="smart.domain"
+   type=lsearch key="smart.domain" opts=NULL
  cached data used for lookup of smart.domain
    in TESTSUITE/aux-fixed/0085.data
  lookup yielded: x : y : abc@???
@@ -312,12 +312,12 @@ checking local_parts
  search_open: lsearch "TESTSUITE/aux-fixed/0085.data"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0085.data"
-   key="test.ex" partial=-1 affix=NULL starflags=0
+   key="test.ex" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0085.data
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0085.data"
-   type=lsearch key="test.ex"
+   type=lsearch key="test.ex" opts=NULL
  file lookup required for test.ex
    in TESTSUITE/aux-fixed/0085.data
  lookup yielded: x : y : abc@???
@@ -326,12 +326,12 @@ checking senders
  search_open: lsearch "TESTSUITE/aux-fixed/0085.data"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0085.data"
-   key="test.ex" partial=-1 affix=NULL starflags=0
+   key="test.ex" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0085.data
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0085.data"
-   type=lsearch key="test.ex"
+   type=lsearch key="test.ex" opts=NULL
  cached data used for lookup of test.ex
    in TESTSUITE/aux-fixed/0085.data
  lookup yielded: x : y : abc@???
diff --git a/test/stderr/0123 b/test/stderr/0123
index e6cdeea..d393252 100644
--- a/test/stderr/0123
+++ b/test/stderr/0123
@@ -19,12 +19,12 @@ calling l1 router
 rda_interpret (string): '${lookup{$local_part}lsearch{TESTSUITE/aux-fixed/0123.aliases1}}'
  search_open: lsearch "TESTSUITE/aux-fixed/0123.aliases1"
  search_find: file="TESTSUITE/aux-fixed/0123.aliases1"
-   key="x" partial=-1 affix=NULL starflags=0
+   key="x" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0123.aliases1
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0123.aliases1"
-   type=lsearch key="x"
+   type=lsearch key="x" opts=NULL
  file lookup required for x
    in TESTSUITE/aux-fixed/0123.aliases1
  lookup failed
@@ -38,13 +38,13 @@ calling l2 router
 rda_interpret (string): '${lookup{$local_part}lsearch{TESTSUITE/aux-fixed/0123.aliases2}}'
  search_open: lsearch "TESTSUITE/aux-fixed/0123.aliases2"
  search_find: file="TESTSUITE/aux-fixed/0123.aliases2"
-   key="x" partial=-1 affix=NULL starflags=0
+   key="x" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0123.aliases2
    0TESTSUITE/aux-fixed/0123.aliases1
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0123.aliases2"
-   type=lsearch key="x"
+   type=lsearch key="x" opts=NULL
  file lookup required for x
    in TESTSUITE/aux-fixed/0123.aliases2
  lookup failed
@@ -60,13 +60,13 @@ rda_interpret (string): '${lookup{$local_part}lsearch{TESTSUITE/aux-fixed/0123.a
  Too many lookup files open
    closing 0TESTSUITE/aux-fixed/0123.aliases1
  search_find: file="TESTSUITE/aux-fixed/0123.aliases3"
-   key="x" partial=-1 affix=NULL starflags=0
+   key="x" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0123.aliases3
    0TESTSUITE/aux-fixed/0123.aliases2
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0123.aliases3"
-   type=lsearch key="x"
+   type=lsearch key="x" opts=NULL
  file lookup required for x
    in TESTSUITE/aux-fixed/0123.aliases3
  lookup failed
@@ -82,13 +82,13 @@ rda_interpret (string): '${lookup{$local_part}lsearch{TESTSUITE/aux-fixed/0123.a
  Too many lookup files open
    closing 0TESTSUITE/aux-fixed/0123.aliases2
  search_find: file="TESTSUITE/aux-fixed/0123.aliases4"
-   key="x" partial=-1 affix=NULL starflags=0
+   key="x" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0123.aliases4
    0TESTSUITE/aux-fixed/0123.aliases3
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0123.aliases4"
-   type=lsearch key="x"
+   type=lsearch key="x" opts=NULL
  file lookup required for x
    in TESTSUITE/aux-fixed/0123.aliases4
  lookup failed
@@ -104,13 +104,13 @@ rda_interpret (string): '${lookup{$local_part}lsearch{TESTSUITE/aux-fixed/0123.a
  Too many lookup files open
    closing 0TESTSUITE/aux-fixed/0123.aliases3
  search_find: file="TESTSUITE/aux-fixed/0123.aliases5"
-   key="x" partial=-1 affix=NULL starflags=0
+   key="x" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0123.aliases5
    0TESTSUITE/aux-fixed/0123.aliases4
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0123.aliases5"
-   type=lsearch key="x"
+   type=lsearch key="x" opts=NULL
  file lookup required for x
    in TESTSUITE/aux-fixed/0123.aliases5
  lookup failed
@@ -126,13 +126,13 @@ rda_interpret (string): '${lookup{$local_part}lsearch{TESTSUITE/aux-fixed/0123.a
  Too many lookup files open
    closing 0TESTSUITE/aux-fixed/0123.aliases4
  search_find: file="TESTSUITE/aux-fixed/0123.aliases6"
-   key="x" partial=-1 affix=NULL starflags=0
+   key="x" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0123.aliases6
    0TESTSUITE/aux-fixed/0123.aliases5
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0123.aliases6"
-   type=lsearch key="x"
+   type=lsearch key="x" opts=NULL
  file lookup required for x
    in TESTSUITE/aux-fixed/0123.aliases6
  lookup failed
@@ -156,13 +156,13 @@ rda_interpret (string): '${lookup{$local_part}lsearch{TESTSUITE/aux-fixed/0123.a
  Too many lookup files open
    closing 0TESTSUITE/aux-fixed/0123.aliases5
  search_find: file="TESTSUITE/aux-fixed/0123.aliases1"
-   key="y" partial=-1 affix=NULL starflags=0
+   key="y" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0123.aliases1
    0TESTSUITE/aux-fixed/0123.aliases6
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0123.aliases1"
-   type=lsearch key="y"
+   type=lsearch key="y" opts=NULL
  file lookup required for y
    in TESTSUITE/aux-fixed/0123.aliases1
  lookup failed
@@ -179,13 +179,13 @@ rda_interpret (string): '${lookup{$local_part}lsearch{TESTSUITE/aux-fixed/0123.a
  Too many lookup files open
    closing 0TESTSUITE/aux-fixed/0123.aliases6
  search_find: file="TESTSUITE/aux-fixed/0123.aliases2"
-   key="y" partial=-1 affix=NULL starflags=0
+   key="y" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0123.aliases2
    0TESTSUITE/aux-fixed/0123.aliases1
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0123.aliases2"
-   type=lsearch key="y"
+   type=lsearch key="y" opts=NULL
  file lookup required for y
    in TESTSUITE/aux-fixed/0123.aliases2
  lookup failed
@@ -202,13 +202,13 @@ rda_interpret (string): '${lookup{$local_part}lsearch{TESTSUITE/aux-fixed/0123.a
  Too many lookup files open
    closing 0TESTSUITE/aux-fixed/0123.aliases1
  search_find: file="TESTSUITE/aux-fixed/0123.aliases3"
-   key="y" partial=-1 affix=NULL starflags=0
+   key="y" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0123.aliases3
    0TESTSUITE/aux-fixed/0123.aliases2
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0123.aliases3"
-   type=lsearch key="y"
+   type=lsearch key="y" opts=NULL
  file lookup required for y
    in TESTSUITE/aux-fixed/0123.aliases3
  lookup failed
@@ -225,13 +225,13 @@ rda_interpret (string): '${lookup{$local_part}lsearch{TESTSUITE/aux-fixed/0123.a
  Too many lookup files open
    closing 0TESTSUITE/aux-fixed/0123.aliases2
  search_find: file="TESTSUITE/aux-fixed/0123.aliases4"
-   key="y" partial=-1 affix=NULL starflags=0
+   key="y" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0123.aliases4
    0TESTSUITE/aux-fixed/0123.aliases3
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0123.aliases4"
-   type=lsearch key="y"
+   type=lsearch key="y" opts=NULL
  file lookup required for y
    in TESTSUITE/aux-fixed/0123.aliases4
  lookup failed
@@ -248,13 +248,13 @@ rda_interpret (string): '${lookup{$local_part}lsearch{TESTSUITE/aux-fixed/0123.a
  Too many lookup files open
    closing 0TESTSUITE/aux-fixed/0123.aliases3
  search_find: file="TESTSUITE/aux-fixed/0123.aliases5"
-   key="y" partial=-1 affix=NULL starflags=0
+   key="y" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0123.aliases5
    0TESTSUITE/aux-fixed/0123.aliases4
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0123.aliases5"
-   type=lsearch key="y"
+   type=lsearch key="y" opts=NULL
  file lookup required for y
    in TESTSUITE/aux-fixed/0123.aliases5
  lookup failed
@@ -271,13 +271,13 @@ rda_interpret (string): '${lookup{$local_part}lsearch{TESTSUITE/aux-fixed/0123.a
  Too many lookup files open
    closing 0TESTSUITE/aux-fixed/0123.aliases4
  search_find: file="TESTSUITE/aux-fixed/0123.aliases6"
-   key="y" partial=-1 affix=NULL starflags=0
+   key="y" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0123.aliases6
    0TESTSUITE/aux-fixed/0123.aliases5
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0123.aliases6"
-   type=lsearch key="y"
+   type=lsearch key="y" opts=NULL
  file lookup required for y
    in TESTSUITE/aux-fixed/0123.aliases6
  lookup failed
@@ -301,13 +301,13 @@ rda_interpret (string): '${lookup{$local_part}lsearch{TESTSUITE/aux-fixed/0123.a
  Too many lookup files open
    closing 0TESTSUITE/aux-fixed/0123.aliases5
  search_find: file="TESTSUITE/aux-fixed/0123.aliases1"
-   key="z" partial=-1 affix=NULL starflags=0
+   key="z" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0123.aliases1
    0TESTSUITE/aux-fixed/0123.aliases6
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0123.aliases1"
-   type=lsearch key="z"
+   type=lsearch key="z" opts=NULL
  file lookup required for z
    in TESTSUITE/aux-fixed/0123.aliases1
  lookup failed
@@ -324,13 +324,13 @@ rda_interpret (string): '${lookup{$local_part}lsearch{TESTSUITE/aux-fixed/0123.a
  Too many lookup files open
    closing 0TESTSUITE/aux-fixed/0123.aliases6
  search_find: file="TESTSUITE/aux-fixed/0123.aliases2"
-   key="z" partial=-1 affix=NULL starflags=0
+   key="z" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0123.aliases2
    0TESTSUITE/aux-fixed/0123.aliases1
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0123.aliases2"
-   type=lsearch key="z"
+   type=lsearch key="z" opts=NULL
  file lookup required for z
    in TESTSUITE/aux-fixed/0123.aliases2
  lookup failed
@@ -347,13 +347,13 @@ rda_interpret (string): '${lookup{$local_part}lsearch{TESTSUITE/aux-fixed/0123.a
  Too many lookup files open
    closing 0TESTSUITE/aux-fixed/0123.aliases1
  search_find: file="TESTSUITE/aux-fixed/0123.aliases3"
-   key="z" partial=-1 affix=NULL starflags=0
+   key="z" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0123.aliases3
    0TESTSUITE/aux-fixed/0123.aliases2
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0123.aliases3"
-   type=lsearch key="z"
+   type=lsearch key="z" opts=NULL
  file lookup required for z
    in TESTSUITE/aux-fixed/0123.aliases3
  lookup failed
@@ -370,13 +370,13 @@ rda_interpret (string): '${lookup{$local_part}lsearch{TESTSUITE/aux-fixed/0123.a
  Too many lookup files open
    closing 0TESTSUITE/aux-fixed/0123.aliases2
  search_find: file="TESTSUITE/aux-fixed/0123.aliases4"
-   key="z" partial=-1 affix=NULL starflags=0
+   key="z" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0123.aliases4
    0TESTSUITE/aux-fixed/0123.aliases3
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0123.aliases4"
-   type=lsearch key="z"
+   type=lsearch key="z" opts=NULL
  file lookup required for z
    in TESTSUITE/aux-fixed/0123.aliases4
  lookup failed
@@ -393,13 +393,13 @@ rda_interpret (string): '${lookup{$local_part}lsearch{TESTSUITE/aux-fixed/0123.a
  Too many lookup files open
    closing 0TESTSUITE/aux-fixed/0123.aliases3
  search_find: file="TESTSUITE/aux-fixed/0123.aliases5"
-   key="z" partial=-1 affix=NULL starflags=0
+   key="z" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0123.aliases5
    0TESTSUITE/aux-fixed/0123.aliases4
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0123.aliases5"
-   type=lsearch key="z"
+   type=lsearch key="z" opts=NULL
  file lookup required for z
    in TESTSUITE/aux-fixed/0123.aliases5
  lookup failed
@@ -416,13 +416,13 @@ rda_interpret (string): '${lookup{$local_part}lsearch{TESTSUITE/aux-fixed/0123.a
  Too many lookup files open
    closing 0TESTSUITE/aux-fixed/0123.aliases4
  search_find: file="TESTSUITE/aux-fixed/0123.aliases6"
-   key="z" partial=-1 affix=NULL starflags=0
+   key="z" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0123.aliases6
    0TESTSUITE/aux-fixed/0123.aliases5
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0123.aliases6"
-   type=lsearch key="z"
+   type=lsearch key="z" opts=NULL
  file lookup required for z
    in TESTSUITE/aux-fixed/0123.aliases6
  lookup failed
diff --git a/test/stderr/0387 b/test/stderr/0387
index 3ce7d4a..292f523 100644
--- a/test/stderr/0387
+++ b/test/stderr/0387
@@ -5,432 +5,432 @@ admin user
 dropping to exim gid; retaining priv uid
  search_open: lsearch "TESTSUITE/aux-fixed/0387.1"
  search_find: file="TESTSUITE/aux-fixed/0387.1"
-   key="a.b.c" partial=2 affix=*. starflags=0
+   key="a.b.c" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0387.1
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="a.b.c"
+   type=lsearch key="a.b.c" opts=NULL
  file lookup required for a.b.c
    in TESTSUITE/aux-fixed/0387.1
  lookup failed
  trying partial match *.a.b.c
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="*.a.b.c"
+   type=lsearch key="*.a.b.c" opts=NULL
  file lookup required for *.a.b.c
    in TESTSUITE/aux-fixed/0387.1
  lookup failed
  trying partial match *.b.c
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="*.b.c"
+   type=lsearch key="*.b.c" opts=NULL
  file lookup required for *.b.c
    in TESTSUITE/aux-fixed/0387.1
  lookup yielded: [*.b.c]
  search_open: lsearch "TESTSUITE/aux-fixed/0387.1"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0387.1"
-   key="x.y.c" partial=2 affix=*. starflags=0
+   key="x.y.c" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0387.1
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="x.y.c"
+   type=lsearch key="x.y.c" opts=NULL
  file lookup required for x.y.c
    in TESTSUITE/aux-fixed/0387.1
  lookup failed
  trying partial match *.x.y.c
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="*.x.y.c"
+   type=lsearch key="*.x.y.c" opts=NULL
  file lookup required for *.x.y.c
    in TESTSUITE/aux-fixed/0387.1
  lookup failed
  trying partial match *.y.c
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="*.y.c"
+   type=lsearch key="*.y.c" opts=NULL
  file lookup required for *.y.c
    in TESTSUITE/aux-fixed/0387.1
  lookup failed
  search_open: lsearch "TESTSUITE/aux-fixed/0387.1"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0387.1"
-   key="x.y.c" partial=2 affix=*. starflags=1
+   key="x.y.c" partial=2 affix=*. starflags=1 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0387.1
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="x.y.c"
+   type=lsearch key="x.y.c" opts=NULL
  cached data used for lookup of x.y.c
    in TESTSUITE/aux-fixed/0387.1
  lookup failed
  trying partial match *.x.y.c
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="*.x.y.c"
+   type=lsearch key="*.x.y.c" opts=NULL
  cached data used for lookup of *.x.y.c
    in TESTSUITE/aux-fixed/0387.1
  lookup failed
  trying partial match *.y.c
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="*.y.c"
+   type=lsearch key="*.y.c" opts=NULL
  cached data used for lookup of *.y.c
    in TESTSUITE/aux-fixed/0387.1
  lookup failed
  trying to match *
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="*"
+   type=lsearch key="*" opts=NULL
  file lookup required for *
    in TESTSUITE/aux-fixed/0387.1
  lookup yielded: [*]
  search_open: lsearch "TESTSUITE/aux-fixed/0387.1"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0387.1"
-   key="x.y.c" partial=1 affix=*. starflags=0
+   key="x.y.c" partial=1 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0387.1
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="x.y.c"
+   type=lsearch key="x.y.c" opts=NULL
  cached data used for lookup of x.y.c
    in TESTSUITE/aux-fixed/0387.1
  lookup failed
  trying partial match *.x.y.c
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="*.x.y.c"
+   type=lsearch key="*.x.y.c" opts=NULL
  cached data used for lookup of *.x.y.c
    in TESTSUITE/aux-fixed/0387.1
  lookup failed
  trying partial match *.y.c
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="*.y.c"
+   type=lsearch key="*.y.c" opts=NULL
  cached data used for lookup of *.y.c
    in TESTSUITE/aux-fixed/0387.1
  lookup failed
  trying partial match *.c
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="*.c"
+   type=lsearch key="*.c" opts=NULL
  file lookup required for *.c
    in TESTSUITE/aux-fixed/0387.1
  lookup yielded: [*.c]
  search_open: lsearch "TESTSUITE/aux-fixed/0387.1"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0387.1"
-   key="x@???" partial=1 affix=*. starflags=2
+   key="x@???" partial=1 affix=*. starflags=2 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0387.1
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="x@???"
+   type=lsearch key="x@???" opts=NULL
  file lookup required for x@???
    in TESTSUITE/aux-fixed/0387.1
  lookup failed
  trying partial match *.x@???
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="*.x@???"
+   type=lsearch key="*.x@???" opts=NULL
  file lookup required for *.x@???
    in TESTSUITE/aux-fixed/0387.1
  lookup failed
  trying partial match *.c
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="*.c"
+   type=lsearch key="*.c" opts=NULL
  cached data used for lookup of *.c
    in TESTSUITE/aux-fixed/0387.1
  lookup yielded: [*.c]
  search_open: lsearch "TESTSUITE/aux-fixed/0387.1"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0387.1"
-   key="x@???" partial=-1 affix=NULL starflags=2
+   key="x@???" partial=-1 affix=NULL starflags=2 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0387.1
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="x@???"
+   type=lsearch key="x@???" opts=NULL
  cached data used for lookup of x@???
    in TESTSUITE/aux-fixed/0387.1
  lookup failed
  trying default match *@y.c
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="*@y.c"
+   type=lsearch key="*@y.c" opts=NULL
  file lookup required for *@y.c
    in TESTSUITE/aux-fixed/0387.1
  lookup yielded: [*@y.c]
  search_open: lsearch "TESTSUITE/aux-fixed/0387.1"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0387.1"
-   key="a.b.c" partial=2 affix=*. starflags=0
+   key="a.b.c" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0387.1
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="a.b.c"
+   type=lsearch key="a.b.c" opts=NULL
  cached data used for lookup of a.b.c
    in TESTSUITE/aux-fixed/0387.1
  lookup failed
  trying partial match *.a.b.c
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="*.a.b.c"
+   type=lsearch key="*.a.b.c" opts=NULL
  cached data used for lookup of *.a.b.c
    in TESTSUITE/aux-fixed/0387.1
  lookup failed
  trying partial match *.b.c
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="*.b.c"
+   type=lsearch key="*.b.c" opts=NULL
  cached data used for lookup of *.b.c
    in TESTSUITE/aux-fixed/0387.1
  lookup yielded: [*.b.c]
  search_open: lsearch "TESTSUITE/aux-fixed/0387.1"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0387.1"
-   key="a.b.c" partial=2 affix=. starflags=0
+   key="a.b.c" partial=2 affix=. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0387.1
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="a.b.c"
+   type=lsearch key="a.b.c" opts=NULL
  cached data used for lookup of a.b.c
    in TESTSUITE/aux-fixed/0387.1
  lookup failed
  trying partial match .a.b.c
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key=".a.b.c"
+   type=lsearch key=".a.b.c" opts=NULL
  file lookup required for .a.b.c
    in TESTSUITE/aux-fixed/0387.1
  lookup failed
  trying partial match .b.c
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key=".b.c"
+   type=lsearch key=".b.c" opts=NULL
  file lookup required for .b.c
    in TESTSUITE/aux-fixed/0387.1
  lookup yielded: [.b.c]
  search_open: lsearch "TESTSUITE/aux-fixed/0387.1"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0387.1"
-   key="a.b.c" partial=2 affix= starflags=0
+   key="a.b.c" partial=2 affix= starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0387.1
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="a.b.c"
+   type=lsearch key="a.b.c" opts=NULL
  cached data used for lookup of a.b.c
    in TESTSUITE/aux-fixed/0387.1
  lookup failed
  trying partial match b.c
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="b.c"
+   type=lsearch key="b.c" opts=NULL
  file lookup required for b.c
    in TESTSUITE/aux-fixed/0387.1
  lookup yielded: [b.c]
  search_open: lsearch "TESTSUITE/aux-fixed/0387.1"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0387.1"
-   key="a.b.c" partial=2 affix=* starflags=0
+   key="a.b.c" partial=2 affix=* starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0387.1
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="a.b.c"
+   type=lsearch key="a.b.c" opts=NULL
  cached data used for lookup of a.b.c
    in TESTSUITE/aux-fixed/0387.1
  lookup failed
  trying partial match *a.b.c
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="*a.b.c"
+   type=lsearch key="*a.b.c" opts=NULL
  file lookup required for *a.b.c
    in TESTSUITE/aux-fixed/0387.1
  lookup failed
  trying partial match *b.c
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="*b.c"
+   type=lsearch key="*b.c" opts=NULL
  file lookup required for *b.c
    in TESTSUITE/aux-fixed/0387.1
  lookup yielded: [*b.c]
  search_open: lsearch "TESTSUITE/aux-fixed/0387.1"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0387.1"
-   key="p.q.r" partial=0 affix=*. starflags=0
+   key="p.q.r" partial=0 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0387.1
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="p.q.r"
+   type=lsearch key="p.q.r" opts=NULL
  file lookup required for p.q.r
    in TESTSUITE/aux-fixed/0387.1
  lookup failed
  trying partial match *.p.q.r
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="*.p.q.r"
+   type=lsearch key="*.p.q.r" opts=NULL
  file lookup required for *.p.q.r
    in TESTSUITE/aux-fixed/0387.1
  lookup failed
  trying partial match *.q.r
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="*.q.r"
+   type=lsearch key="*.q.r" opts=NULL
  file lookup required for *.q.r
    in TESTSUITE/aux-fixed/0387.1
  lookup failed
  trying partial match *.r
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="*.r"
+   type=lsearch key="*.r" opts=NULL
  file lookup required for *.r
    in TESTSUITE/aux-fixed/0387.1
  lookup failed
  trying partial match *
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="*"
+   type=lsearch key="*" opts=NULL
  cached data used for lookup of *
    in TESTSUITE/aux-fixed/0387.1
  lookup yielded: [*]
  search_open: lsearch "TESTSUITE/aux-fixed/0387.1"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0387.1"
-   key="p.q.r" partial=0 affix=. starflags=0
+   key="p.q.r" partial=0 affix=. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0387.1
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="p.q.r"
+   type=lsearch key="p.q.r" opts=NULL
  cached data used for lookup of p.q.r
    in TESTSUITE/aux-fixed/0387.1
  lookup failed
  trying partial match .p.q.r
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key=".p.q.r"
+   type=lsearch key=".p.q.r" opts=NULL
  file lookup required for .p.q.r
    in TESTSUITE/aux-fixed/0387.1
  lookup failed
  trying partial match .q.r
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key=".q.r"
+   type=lsearch key=".q.r" opts=NULL
  file lookup required for .q.r
    in TESTSUITE/aux-fixed/0387.1
  lookup failed
  trying partial match .r
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key=".r"
+   type=lsearch key=".r" opts=NULL
  file lookup required for .r
    in TESTSUITE/aux-fixed/0387.1
  lookup failed
  trying partial match .
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="."
+   type=lsearch key="." opts=NULL
  file lookup required for .
    in TESTSUITE/aux-fixed/0387.1
  lookup yielded: [.]
  search_open: lsearch "TESTSUITE/aux-fixed/0387.1"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0387.1"
-   key="x.aa.bb" partial=0 affix=++ starflags=0
+   key="x.aa.bb" partial=0 affix=++ starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0387.1
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="x.aa.bb"
+   type=lsearch key="x.aa.bb" opts=NULL
  file lookup required for x.aa.bb
    in TESTSUITE/aux-fixed/0387.1
  lookup failed
  trying partial match ++x.aa.bb
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="++x.aa.bb"
+   type=lsearch key="++x.aa.bb" opts=NULL
  file lookup required for ++x.aa.bb
    in TESTSUITE/aux-fixed/0387.1
  lookup failed
  trying partial match ++aa.bb
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="++aa.bb"
+   type=lsearch key="++aa.bb" opts=NULL
  file lookup required for ++aa.bb
    in TESTSUITE/aux-fixed/0387.1
  lookup yielded: [++aa.bb]
  search_open: lsearch "TESTSUITE/aux-fixed/0387.1"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0387.1"
-   key="x.aa.zz" partial=0 affix=++ starflags=0
+   key="x.aa.zz" partial=0 affix=++ starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0387.1
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="x.aa.zz"
+   type=lsearch key="x.aa.zz" opts=NULL
  file lookup required for x.aa.zz
    in TESTSUITE/aux-fixed/0387.1
  lookup failed
  trying partial match ++x.aa.zz
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="++x.aa.zz"
+   type=lsearch key="++x.aa.zz" opts=NULL
  file lookup required for ++x.aa.zz
    in TESTSUITE/aux-fixed/0387.1
  lookup failed
  trying partial match ++aa.zz
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="++aa.zz"
+   type=lsearch key="++aa.zz" opts=NULL
  file lookup required for ++aa.zz
    in TESTSUITE/aux-fixed/0387.1
  lookup failed
  trying partial match ++zz
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="++zz"
+   type=lsearch key="++zz" opts=NULL
  file lookup required for ++zz
    in TESTSUITE/aux-fixed/0387.1
  lookup failed
  trying partial match ++
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="++"
+   type=lsearch key="++" opts=NULL
  file lookup required for ++
    in TESTSUITE/aux-fixed/0387.1
  lookup yielded: [++]
  search_open: lsearch "TESTSUITE/aux-fixed/0387.1"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0387.1"
-   key="x.aa.zz" partial=1 affix=++ starflags=1
+   key="x.aa.zz" partial=1 affix=++ starflags=1 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0387.1
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="x.aa.zz"
+   type=lsearch key="x.aa.zz" opts=NULL
  cached data used for lookup of x.aa.zz
    in TESTSUITE/aux-fixed/0387.1
  lookup failed
  trying partial match ++x.aa.zz
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="++x.aa.zz"
+   type=lsearch key="++x.aa.zz" opts=NULL
  cached data used for lookup of ++x.aa.zz
    in TESTSUITE/aux-fixed/0387.1
  lookup failed
  trying partial match ++aa.zz
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="++aa.zz"
+   type=lsearch key="++aa.zz" opts=NULL
  cached data used for lookup of ++aa.zz
    in TESTSUITE/aux-fixed/0387.1
  lookup failed
  trying partial match ++zz
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="++zz"
+   type=lsearch key="++zz" opts=NULL
  cached data used for lookup of ++zz
    in TESTSUITE/aux-fixed/0387.1
  lookup failed
  trying to match *
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="*"
+   type=lsearch key="*" opts=NULL
  cached data used for lookup of *
    in TESTSUITE/aux-fixed/0387.1
  lookup yielded: [*]
  search_open: lsearch "TESTSUITE/aux-fixed/0387.1"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0387.1"
-   key="a.b.c" partial=2 affix=*. starflags=0
+   key="a.b.c" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0387.1
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="a.b.c"
+   type=lsearch key="a.b.c" opts=NULL
  cached data used for lookup of a.b.c
    in TESTSUITE/aux-fixed/0387.1
  lookup failed
  trying partial match *.a.b.c
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="*.a.b.c"
+   type=lsearch key="*.a.b.c" opts=NULL
  cached data used for lookup of *.a.b.c
    in TESTSUITE/aux-fixed/0387.1
  lookup failed
  trying partial match *.b.c
  internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
-   type=lsearch key="*.b.c"
+   type=lsearch key="*.b.c" opts=NULL
  cached data used for lookup of *.b.c
    in TESTSUITE/aux-fixed/0387.1
  lookup yielded: [*.b.c]
diff --git a/test/stderr/0403 b/test/stderr/0403
index ab1fd9f..5d42232 100644
--- a/test/stderr/0403
+++ b/test/stderr/0403
@@ -89,12 +89,12 @@ local_part=userx domain=test.ex
 checking domains
 search_open: lsearch "TESTSUITE/aux-fixed/0403.data"
 search_find: file="TESTSUITE/aux-fixed/0403.data"
-  key="test.ex" partial=-1 affix=NULL starflags=0
+  key="test.ex" partial=-1 affix=NULL starflags=0 opts=NULL
 LRU list:
   0TESTSUITE/aux-fixed/0403.data
   End
 internal_search_find: file="TESTSUITE/aux-fixed/0403.data"
-  type=lsearch key="test.ex"
+  type=lsearch key="test.ex" opts=NULL
 file lookup required for test.ex
   in TESTSUITE/aux-fixed/0403.data
 lookup yielded: [DOMAINDATA_test.ex]
@@ -103,12 +103,12 @@ checking local_parts
 search_open: lsearch "TESTSUITE/aux-fixed/0403.data"
   cached open
 search_find: file="TESTSUITE/aux-fixed/0403.data"
-  key="userx" partial=-1 affix=NULL starflags=0
+  key="userx" partial=-1 affix=NULL starflags=0 opts=NULL
 LRU list:
   0TESTSUITE/aux-fixed/0403.data
   End
 internal_search_find: file="TESTSUITE/aux-fixed/0403.data"
-  type=lsearch key="userx"
+  type=lsearch key="userx" opts=NULL
 file lookup required for userx
   in TESTSUITE/aux-fixed/0403.data
 lookup yielded: [LOCALPARTDATA_userx]
diff --git a/test/stderr/0414 b/test/stderr/0414
index 3332d5a..9ec9025 100644
--- a/test/stderr/0414
+++ b/test/stderr/0414
@@ -20,25 +20,25 @@ local_part=x domain=b.domain
 checking domains
 search_open: lsearch "TESTSUITE/aux-fixed/0414.list1"
 search_find: file="TESTSUITE/aux-fixed/0414.list1"
-  key="b.domain" partial=-1 affix=NULL starflags=0
+  key="b.domain" partial=-1 affix=NULL starflags=0 opts=NULL
 LRU list:
   0TESTSUITE/aux-fixed/0414.list1
   End
 internal_search_find: file="TESTSUITE/aux-fixed/0414.list1"
-  type=lsearch key="b.domain"
+  type=lsearch key="b.domain" opts=NULL
 file lookup required for b.domain
   in TESTSUITE/aux-fixed/0414.list1
 lookup failed
 b.domain in "lsearch;TESTSUITE/aux-fixed/0414.list1"? no (end of list)
 search_open: lsearch "TESTSUITE/aux-fixed/0414.list2"
 search_find: file="TESTSUITE/aux-fixed/0414.list2"
-  key="b.domain" partial=-1 affix=NULL starflags=0
+  key="b.domain" partial=-1 affix=NULL starflags=0 opts=NULL
 LRU list:
   0TESTSUITE/aux-fixed/0414.list2
   0TESTSUITE/aux-fixed/0414.list1
   End
 internal_search_find: file="TESTSUITE/aux-fixed/0414.list2"
-  type=lsearch key="b.domain"
+  type=lsearch key="b.domain" opts=NULL
 file lookup required for b.domain
   in TESTSUITE/aux-fixed/0414.list2
 lookup yielded: b.domain-data
@@ -78,13 +78,13 @@ checking domains
 search_open: lsearch "TESTSUITE/aux-fixed/0414.list1"
   cached open
 search_find: file="TESTSUITE/aux-fixed/0414.list1"
-  key="a.domain" partial=-1 affix=NULL starflags=0
+  key="a.domain" partial=-1 affix=NULL starflags=0 opts=NULL
 LRU list:
   0TESTSUITE/aux-fixed/0414.list1
   0TESTSUITE/aux-fixed/0414.list2
   End
 internal_search_find: file="TESTSUITE/aux-fixed/0414.list1"
-  type=lsearch key="a.domain"
+  type=lsearch key="a.domain" opts=NULL
 file lookup required for a.domain
   in TESTSUITE/aux-fixed/0414.list1
 lookup yielded: a.domain-data
@@ -100,13 +100,13 @@ checking domains
 search_open: lsearch "TESTSUITE/aux-fixed/0414.list2"
   cached open
 search_find: file="TESTSUITE/aux-fixed/0414.list2"
-  key="a.domain" partial=-1 affix=NULL starflags=0
+  key="a.domain" partial=-1 affix=NULL starflags=0 opts=NULL
 LRU list:
   0TESTSUITE/aux-fixed/0414.list2
   0TESTSUITE/aux-fixed/0414.list1
   End
 internal_search_find: file="TESTSUITE/aux-fixed/0414.list2"
-  type=lsearch key="a.domain"
+  type=lsearch key="a.domain" opts=NULL
 file lookup required for a.domain
   in TESTSUITE/aux-fixed/0414.list2
 lookup failed
diff --git a/test/stderr/0437 b/test/stderr/0437
index 3bd5982..0e5a5b3 100644
--- a/test/stderr/0437
+++ b/test/stderr/0437
@@ -1,12 +1,12 @@
 Exim version x.yz ....
  search_open: lsearch "TESTSUITE/aux-fixed/0437.ls"
  search_find: file="TESTSUITE/aux-fixed/0437.ls"
-   key="spool" partial=-1 affix=NULL starflags=0
+   key="spool" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0437.ls
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0437.ls"
-   type=lsearch key="spool"
+   type=lsearch key="spool" opts=NULL
  file lookup required for spool
    in TESTSUITE/aux-fixed/0437.ls
  lookup yielded: spool
@@ -18,12 +18,12 @@ LOG: queue_run MAIN
 search_tidyup called
  search_open: lsearch "TESTSUITE/aux-fixed/0437.ls"
  search_find: file="TESTSUITE/aux-fixed/0437.ls"
-   key="transport" partial=-1 affix=NULL starflags=0
+   key="transport" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0437.ls
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0437.ls"
-   type=lsearch key="transport"
+   type=lsearch key="transport" opts=NULL
  file lookup required for transport
    in TESTSUITE/aux-fixed/0437.ls
  lookup yielded: t1
@@ -31,12 +31,12 @@ search_tidyup called
 search_tidyup called
  search_open: lsearch "TESTSUITE/aux-fixed/0437.ls"
  search_find: file="TESTSUITE/aux-fixed/0437.ls"
-   key="file" partial=-1 affix=NULL starflags=0
+   key="file" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0437.ls
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0437.ls"
-   type=lsearch key="file"
+   type=lsearch key="file" opts=NULL
  file lookup required for file
    in TESTSUITE/aux-fixed/0437.ls
  lookup yielded: file
@@ -50,12 +50,12 @@ search_tidyup called
 search_tidyup called
  search_open: lsearch "TESTSUITE/aux-fixed/0437.ls"
  search_find: file="TESTSUITE/aux-fixed/0437.ls"
-   key="transport" partial=-1 affix=NULL starflags=0
+   key="transport" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0437.ls
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0437.ls"
-   type=lsearch key="transport"
+   type=lsearch key="transport" opts=NULL
  file lookup required for transport
    in TESTSUITE/aux-fixed/0437.ls
  lookup yielded: t1
@@ -63,12 +63,12 @@ search_tidyup called
 search_tidyup called
  search_open: lsearch "TESTSUITE/aux-fixed/0437.ls"
  search_find: file="TESTSUITE/aux-fixed/0437.ls"
-   key="file" partial=-1 affix=NULL starflags=0
+   key="file" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0437.ls
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0437.ls"
-   type=lsearch key="file"
+   type=lsearch key="file" opts=NULL
  file lookup required for file
    in TESTSUITE/aux-fixed/0437.ls
  lookup yielded: file
diff --git a/test/stderr/0464 b/test/stderr/0464
index d1e6e08..cc39a58 100644
--- a/test/stderr/0464
+++ b/test/stderr/0464
@@ -23,12 +23,12 @@ processing "require" (TESTSUITE/test-config 20)
 check domains = +special_domains
 search_open: lsearch "TESTSUITE/aux-fixed/0464.domains"
 search_find: file="TESTSUITE/aux-fixed/0464.domains"
-  key="domain1" partial=-1 affix=NULL starflags=0
+  key="domain1" partial=-1 affix=NULL starflags=0 opts=NULL
 LRU list:
   0TESTSUITE/aux-fixed/0464.domains
   End
 internal_search_find: file="TESTSUITE/aux-fixed/0464.domains"
-  type=lsearch key="domain1"
+  type=lsearch key="domain1" opts=NULL
 file lookup required for domain1
   in TESTSUITE/aux-fixed/0464.domains
 lookup yielded: data for domain1
@@ -70,12 +70,12 @@ checking domains
 search_open: lsearch "TESTSUITE/aux-fixed/0464.domains"
   cached open
 search_find: file="TESTSUITE/aux-fixed/0464.domains"
-  key="xxx.domain1" partial=-1 affix=NULL starflags=0
+  key="xxx.domain1" partial=-1 affix=NULL starflags=0 opts=NULL
 LRU list:
   0TESTSUITE/aux-fixed/0464.domains
   End
 internal_search_find: file="TESTSUITE/aux-fixed/0464.domains"
-  type=lsearch key="xxx.domain1"
+  type=lsearch key="xxx.domain1" opts=NULL
 file lookup required for xxx.domain1
   in TESTSUITE/aux-fixed/0464.domains
 lookup failed
@@ -137,12 +137,12 @@ checking domains
 search_open: lsearch "TESTSUITE/aux-fixed/0464.domains"
   cached open
 search_find: file="TESTSUITE/aux-fixed/0464.domains"
-  key="xxx.domain1" partial=-1 affix=NULL starflags=0
+  key="xxx.domain1" partial=-1 affix=NULL starflags=0 opts=NULL
 LRU list:
   0TESTSUITE/aux-fixed/0464.domains
   End
 internal_search_find: file="TESTSUITE/aux-fixed/0464.domains"
-  type=lsearch key="xxx.domain1"
+  type=lsearch key="xxx.domain1" opts=NULL
 cached data used for lookup of xxx.domain1
   in TESTSUITE/aux-fixed/0464.domains
 lookup failed
diff --git a/test/stderr/0471 b/test/stderr/0471
index c0916e8..258f36f 100644
--- a/test/stderr/0471
+++ b/test/stderr/0471
@@ -103,18 +103,18 @@ test.ex in "*"? yes (matched "*")
 r1@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.ex" partial=2 affix=*. starflags=0
+   key="test.ex" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.ex"
+   type=lsearch key="test.ex" opts=NULL
  file lookup required for test.ex
    in TESTSUITE/aux-fixed/0471.rw
  lookup failed
  trying partial match *.test.ex
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="*.test.ex"
+   type=lsearch key="*.test.ex" opts=NULL
  file lookup required for *.test.ex
    in TESTSUITE/aux-fixed/0471.rw
  lookup failed
@@ -124,24 +124,24 @@ CALLER@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="myhost.test.ex" partial=2 affix=*. starflags=0
+   key="myhost.test.ex" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="myhost.test.ex"
+   type=lsearch key="myhost.test.ex" opts=NULL
  file lookup required for myhost.test.ex
    in TESTSUITE/aux-fixed/0471.rw
  lookup failed
  trying partial match *.myhost.test.ex
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="*.myhost.test.ex"
+   type=lsearch key="*.myhost.test.ex" opts=NULL
  file lookup required for *.myhost.test.ex
    in TESTSUITE/aux-fixed/0471.rw
  lookup failed
  trying partial match *.test.ex
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="*.test.ex"
+   type=lsearch key="*.test.ex" opts=NULL
  cached data used for lookup of *.test.ex
    in TESTSUITE/aux-fixed/0471.rw
  lookup failed
@@ -233,12 +233,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  file lookup required for test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -412,12 +412,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -591,12 +591,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -770,12 +770,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -949,12 +949,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -1128,12 +1128,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -1307,12 +1307,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -1486,12 +1486,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -1665,12 +1665,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -1844,12 +1844,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -2022,12 +2022,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -2200,12 +2200,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -2378,12 +2378,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -2556,12 +2556,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -2734,12 +2734,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -2912,12 +2912,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -3090,12 +3090,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -3268,12 +3268,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -3446,12 +3446,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -3624,12 +3624,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -3802,12 +3802,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -3980,12 +3980,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -4158,12 +4158,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -4335,12 +4335,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -4512,12 +4512,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -4689,12 +4689,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -4866,12 +4866,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -5043,12 +5043,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -5220,12 +5220,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -5397,12 +5397,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -5574,12 +5574,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -5751,12 +5751,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -5928,12 +5928,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -6105,12 +6105,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -6282,12 +6282,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -6458,12 +6458,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -6634,12 +6634,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -6810,12 +6810,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -6986,12 +6986,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -7162,12 +7162,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -7338,12 +7338,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -7514,12 +7514,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -7690,12 +7690,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -7866,12 +7866,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -8042,12 +8042,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -8218,12 +8218,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -8394,12 +8394,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -8570,12 +8570,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -8745,12 +8745,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -8920,12 +8920,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -9095,12 +9095,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -9270,12 +9270,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -9445,12 +9445,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -9620,12 +9620,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -9795,12 +9795,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -9970,12 +9970,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -10145,12 +10145,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -10320,12 +10320,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -10495,12 +10495,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -10670,12 +10670,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -10844,12 +10844,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -11018,12 +11018,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -11192,12 +11192,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -11366,12 +11366,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -11540,12 +11540,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -11714,12 +11714,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -11888,12 +11888,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -12062,12 +12062,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -12236,12 +12236,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -12410,12 +12410,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -12584,12 +12584,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -12758,12 +12758,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -12932,12 +12932,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -13105,12 +13105,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -13278,12 +13278,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -13451,12 +13451,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -13624,12 +13624,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -13797,12 +13797,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -13970,12 +13970,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -14143,12 +14143,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -14316,12 +14316,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -14489,12 +14489,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -14661,12 +14661,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -14832,12 +14832,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -15002,12 +15002,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -15171,12 +15171,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -15339,12 +15339,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -15506,12 +15506,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -15672,12 +15672,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -15837,12 +15837,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -16001,12 +16001,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -16164,12 +16164,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -16326,12 +16326,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -16487,12 +16487,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -16647,12 +16647,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -16806,12 +16806,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -16964,12 +16964,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -17121,12 +17121,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -17277,12 +17277,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -17432,12 +17432,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -17586,12 +17586,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -17739,12 +17739,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -17891,12 +17891,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -18042,12 +18042,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -18192,12 +18192,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -18341,12 +18341,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -18489,12 +18489,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -18636,12 +18636,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -18782,12 +18782,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -18927,12 +18927,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -19071,12 +19071,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -19214,12 +19214,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -19356,12 +19356,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -19497,12 +19497,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -19637,12 +19637,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -19776,12 +19776,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -19914,12 +19914,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -20051,12 +20051,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -20187,12 +20187,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -20322,12 +20322,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -20456,12 +20456,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -20589,12 +20589,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -20721,12 +20721,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -20852,12 +20852,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -20982,12 +20982,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -21111,12 +21111,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -21239,12 +21239,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -21366,12 +21366,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -21492,12 +21492,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -21617,12 +21617,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -21741,12 +21741,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -21864,12 +21864,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -21986,12 +21986,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -22107,12 +22107,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -22227,12 +22227,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -22346,12 +22346,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -22464,12 +22464,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -22581,12 +22581,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -22697,12 +22697,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -22812,12 +22812,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -22926,12 +22926,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -23039,12 +23039,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -23151,12 +23151,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -23262,12 +23262,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -23372,12 +23372,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -23481,12 +23481,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -23589,12 +23589,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -23696,12 +23696,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -23802,12 +23802,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -23907,12 +23907,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -24011,12 +24011,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -24114,12 +24114,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -24216,12 +24216,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -24317,12 +24317,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -24417,12 +24417,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -24516,12 +24516,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -24614,12 +24614,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -24711,12 +24711,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -24807,12 +24807,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -24902,12 +24902,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -24996,12 +24996,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -25089,12 +25089,12 @@ random@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
@@ -25184,24 +25184,24 @@ CALLER@??? in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="myhost.test.ex" partial=2 affix=*. starflags=0
+   key="myhost.test.ex" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="myhost.test.ex"
+   type=lsearch key="myhost.test.ex" opts=NULL
  cached data used for lookup of myhost.test.ex
    in TESTSUITE/aux-fixed/0471.rw
  lookup failed
  trying partial match *.myhost.test.ex
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="*.myhost.test.ex"
+   type=lsearch key="*.myhost.test.ex" opts=NULL
  cached data used for lookup of *.myhost.test.ex
    in TESTSUITE/aux-fixed/0471.rw
  lookup failed
  trying partial match *.test.ex
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="*.test.ex"
+   type=lsearch key="*.test.ex" opts=NULL
  cached data used for lookup of *.test.ex
    in TESTSUITE/aux-fixed/0471.rw
  lookup failed
diff --git a/test/stderr/0484 b/test/stderr/0484
index cf59998..25d7f74 100644
--- a/test/stderr/0484
+++ b/test/stderr/0484
@@ -8,124 +8,124 @@ originator: uid=CALLER_UID gid=CALLER_GID login=CALLER name=CALLER_NAME
 sender address = CALLER@???
  search_open: lsearch "TESTSUITE/aux-fixed/0484.aliases"
  search_find: file="TESTSUITE/aux-fixed/0484.aliases"
-   key="list" partial=-1 affix=NULL starflags=0
+   key="list" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0484.aliases
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0484.aliases"
-   type=lsearch key="list"
+   type=lsearch key="list" opts=NULL
  file lookup required for list
    in TESTSUITE/aux-fixed/0484.aliases
  lookup yielded: userx, usery
  search_open: lsearch "TESTSUITE/aux-fixed/0484.aliases"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0484.aliases"
-   key="list" partial=-1 affix=NULL starflags=0
+   key="list" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0484.aliases
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0484.aliases"
-   type=lsearch key="list"
+   type=lsearch key="list" opts=NULL
  cached data used for lookup of list
    in TESTSUITE/aux-fixed/0484.aliases
  lookup yielded: userx, usery
  search_open: lsearch "TESTSUITE/aux-fixed/0484.aliases"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0484.aliases"
-   key="root" partial=-1 affix=NULL starflags=0
+   key="root" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0484.aliases
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0484.aliases"
-   type=lsearch key="root"
+   type=lsearch key="root" opts=NULL
  file lookup required for root
    in TESTSUITE/aux-fixed/0484.aliases
  lookup yielded: userx
  search_open: lsearch "TESTSUITE/aux-fixed/0484.aliases"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0484.aliases"
-   key="root" partial=-1 affix=NULL starflags=0
+   key="root" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0484.aliases
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0484.aliases"
-   type=lsearch key="root"
+   type=lsearch key="root" opts=NULL
  cached data used for lookup of root
    in TESTSUITE/aux-fixed/0484.aliases
  lookup yielded: userx
  search_open: lsearch "TESTSUITE/aux-fixed/0484.aliases"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0484.aliases"
-   key="list" partial=-1 affix=NULL starflags=0
+   key="list" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0484.aliases
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0484.aliases"
-   type=lsearch key="list"
+   type=lsearch key="list" opts=NULL
  cached data used for lookup of list
    in TESTSUITE/aux-fixed/0484.aliases
  lookup yielded: userx, usery
  search_open: lsearch "TESTSUITE/aux-fixed/0484.aliases2"
  search_find: file="TESTSUITE/aux-fixed/0484.aliases2"
-   key="list" partial=-1 affix=NULL starflags=0
+   key="list" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0484.aliases2
    0TESTSUITE/aux-fixed/0484.aliases
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0484.aliases2"
-   type=lsearch key="list"
+   type=lsearch key="list" opts=NULL
  file lookup required for list
    in TESTSUITE/aux-fixed/0484.aliases2
  lookup yielded: userx2, usery2
  search_open: lsearch "TESTSUITE/aux-fixed/0484.aliases2"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0484.aliases2"
-   key="root" partial=-1 affix=NULL starflags=0
+   key="root" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0484.aliases2
    0TESTSUITE/aux-fixed/0484.aliases
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0484.aliases2"
-   type=lsearch key="root"
+   type=lsearch key="root" opts=NULL
  file lookup required for root
    in TESTSUITE/aux-fixed/0484.aliases2
  lookup failed
  search_open: lsearch "TESTSUITE/aux-fixed/0484.aliases2"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0484.aliases2"
-   key="list" partial=-1 affix=NULL starflags=0
+   key="list" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0484.aliases2
    0TESTSUITE/aux-fixed/0484.aliases
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0484.aliases2"
-   type=lsearch key="list"
+   type=lsearch key="list" opts=NULL
  cached data used for lookup of list
    in TESTSUITE/aux-fixed/0484.aliases2
  lookup yielded: userx2, usery2
  search_open: lsearch "TESTSUITE/aux-fixed/0484.aliases"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0484.aliases"
-   key="list" partial=-1 affix=NULL starflags=0
+   key="list" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0484.aliases
    0TESTSUITE/aux-fixed/0484.aliases2
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0484.aliases"
-   type=lsearch key="list"
+   type=lsearch key="list" opts=NULL
  cached data used for lookup of list
    in TESTSUITE/aux-fixed/0484.aliases
  lookup yielded: userx, usery
  search_open: lsearch "TESTSUITE/aux-fixed/0484.aliases"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0484.aliases"
-   key="root" partial=-1 affix=NULL starflags=0
+   key="root" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0484.aliases
    0TESTSUITE/aux-fixed/0484.aliases2
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0484.aliases"
-   type=lsearch key="root"
+   type=lsearch key="root" opts=NULL
  cached data used for lookup of root
    in TESTSUITE/aux-fixed/0484.aliases
  lookup yielded: userx
diff --git a/test/stderr/0999 b/test/stderr/0999
index 2e7d539..a129555 100644
--- a/test/stderr/0999
+++ b/test/stderr/0999
@@ -2,6 +2,6 @@
 2017-07-30 18:51:05.712 End queue run: pid=pppp -qq
 81 messages in
 daemon did make at least one delivery
-81 messages received by dest
+80 messages received by dest


 ******** SERVER ********
diff --git a/test/stderr/2200 b/test/stderr/2200
index 7ea33c6..8efc38f 100644
--- a/test/stderr/2200
+++ b/test/stderr/2200
@@ -4,20 +4,20 @@ admin user
 dropping to exim gid; retaining priv uid
  search_open: dnsdb "NULL"
  search_find: file="NULL"
-   key="a=localhost.test.ex" partial=-1 affix=NULL starflags=0
+   key="a=localhost.test.ex" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="NULL"
-   type=dnsdb key="a=localhost.test.ex"
+   type=dnsdb key="a=localhost.test.ex" opts=NULL
  database lookup required for a=localhost.test.ex
  dnsdb key: localhost.test.ex
  lookup yielded: 127.0.0.1
  search_open: dnsdb "NULL"
    cached open
  search_find: file="NULL"
-   key="a=localhost.test.ex" partial=-1 affix=NULL starflags=0
+   key="a=localhost.test.ex" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="NULL"
-   type=dnsdb key="a=localhost.test.ex"
+   type=dnsdb key="a=localhost.test.ex" opts=NULL
  cached data used for lookup of a=localhost.test.ex
  lookup yielded: 127.0.0.1
 search_tidyup called
@@ -29,20 +29,20 @@ search_tidyup called
 search_tidyup called
   search_open: dnsdb "NULL"
   search_find: file="NULL"
-    key="a=shorthost.test.ex" partial=-1 affix=NULL starflags=0
+    key="a=shorthost.test.ex" partial=-1 affix=NULL starflags=0 opts=NULL
   LRU list:
   internal_search_find: file="NULL"
-    type=dnsdb key="a=shorthost.test.ex"
+    type=dnsdb key="a=shorthost.test.ex" opts=NULL
   database lookup required for a=shorthost.test.ex
   dnsdb key: shorthost.test.ex
   lookup yielded: 127.0.0.1
   search_open: dnsdb "NULL"
     cached open
   search_find: file="NULL"
-    key="a=shorthost.test.ex" partial=-1 affix=NULL starflags=0
+    key="a=shorthost.test.ex" partial=-1 affix=NULL starflags=0 opts=NULL
   LRU list:
   internal_search_find: file="NULL"
-    type=dnsdb key="a=shorthost.test.ex"
+    type=dnsdb key="a=shorthost.test.ex" opts=NULL
   cached data found but past valid time;   database lookup required for a=shorthost.test.ex
   dnsdb key: shorthost.test.ex
   lookup yielded: 127.0.0.1
diff --git a/test/stderr/2201 b/test/stderr/2201
index 26c59e8..9764069 100644
--- a/test/stderr/2201
+++ b/test/stderr/2201
@@ -29,10 +29,10 @@ local_part=test.ex domain=test.ex
 checking domains
 search_open: dnsdb "NULL"
 search_find: file="NULL"
-  key="test.ex" partial=-1 affix=NULL starflags=0
+  key="test.ex" partial=-1 affix=NULL starflags=0 opts=NULL
 LRU list:
 internal_search_find: file="NULL"
-  type=dnsdb key="test.ex"
+  type=dnsdb key="test.ex" opts=NULL
 database lookup required for test.ex
 dnsdb key: test.ex
 DNS lookup of test.ex (TXT) using fakens
@@ -43,10 +43,10 @@ checking local_parts
 search_open: dnsdb "NULL"
   cached open
 search_find: file="NULL"
-  key="test.ex" partial=-1 affix=NULL starflags=0
+  key="test.ex" partial=-1 affix=NULL starflags=0 opts=NULL
 LRU list:
 internal_search_find: file="NULL"
-  type=dnsdb key="test.ex"
+  type=dnsdb key="test.ex" opts=NULL
 cached data used for lookup of test.ex
 lookup yielded: A TXT record for test.ex.
 test.ex in "dnsdb;test.ex"? yes (matched "dnsdb;test.ex")
@@ -79,10 +79,10 @@ checking domains
 search_open: dnsdb "NULL"
   cached open
 search_find: file="NULL"
-  key="test.ex" partial=-1 affix=NULL starflags=0
+  key="test.ex" partial=-1 affix=NULL starflags=0 opts=NULL
 LRU list:
 internal_search_find: file="NULL"
-  type=dnsdb key="test.ex"
+  type=dnsdb key="test.ex" opts=NULL
 cached data used for lookup of test.ex
 lookup yielded: A TXT record for test.ex.
 test.ex in "dnsdb;test.ex"? yes (matched "dnsdb;test.ex")
@@ -90,10 +90,10 @@ checking local_parts
 search_open: dnsdb "NULL"
   cached open
 search_find: file="NULL"
-  key="unknown" partial=-1 affix=NULL starflags=0
+  key="unknown" partial=-1 affix=NULL starflags=0 opts=NULL
 LRU list:
 internal_search_find: file="NULL"
-  type=dnsdb key="unknown"
+  type=dnsdb key="unknown" opts=NULL
 database lookup required for unknown
 dnsdb key: unknown
 DNS lookup of unknown (TXT) using fakens
@@ -110,10 +110,10 @@ checking domains
 search_open: dnsdb "NULL"
   cached open
 search_find: file="NULL"
-  key="test.ex" partial=-1 affix=NULL starflags=0
+  key="test.ex" partial=-1 affix=NULL starflags=0 opts=NULL
 LRU list:
 internal_search_find: file="NULL"
-  type=dnsdb key="test.ex"
+  type=dnsdb key="test.ex" opts=NULL
 cached data used for lookup of test.ex
 lookup yielded: A TXT record for test.ex.
 test.ex in "dnsdb;test.ex"? yes (matched "dnsdb;test.ex")
@@ -122,10 +122,10 @@ address match test: subject=CALLER@??? pattern=dnsdb;A=myhost.test.ex
 search_open: dnsdb "NULL"
   cached open
 search_find: file="NULL"
-  key="A=myhost.test.ex" partial=-1 affix=NULL starflags=0
+  key="A=myhost.test.ex" partial=-1 affix=NULL starflags=0 opts=NULL
 LRU list:
 internal_search_find: file="NULL"
-  type=dnsdb key="A=myhost.test.ex"
+  type=dnsdb key="A=myhost.test.ex" opts=NULL
 database lookup required for A=myhost.test.ex
 dnsdb key: myhost.test.ex
 DNS lookup of myhost.test.ex (A) using fakens
@@ -153,29 +153,29 @@ search_tidyup called
 search_tidyup called
 search_open: dnsdb "NULL"
 search_find: file="NULL"
-  key="a=shorthost.test.ex" partial=-1 affix=NULL starflags=0
+  key="a=shorthost.test.ex" partial=-1 affix=NULL starflags=0 opts=NULL
 LRU list:
 internal_search_find: file="NULL"
-  type=dnsdb key="a=shorthost.test.ex"
+  type=dnsdb key="a=shorthost.test.ex" opts=NULL
 database lookup required for a=shorthost.test.ex
 dnsdb key: shorthost.test.ex
 lookup yielded: 127.0.0.1
 search_open: dnsdb "NULL"
   cached open
 search_find: file="NULL"
-  key="a=shorthost.test.ex" partial=-1 affix=NULL starflags=0
+  key="a=shorthost.test.ex" partial=-1 affix=NULL starflags=0 opts=NULL
 LRU list:
 internal_search_find: file="NULL"
-  type=dnsdb key="a=shorthost.test.ex"
+  type=dnsdb key="a=shorthost.test.ex" opts=NULL
 cached data used for lookup of a=shorthost.test.ex
 lookup yielded: 127.0.0.1
 search_open: dnsdb "NULL"
   cached open
 search_find: file="NULL"
-  key="a=shorthost.test.ex" partial=-1 affix=NULL starflags=0
+  key="a=shorthost.test.ex" partial=-1 affix=NULL starflags=0 opts=NULL
 LRU list:
 internal_search_find: file="NULL"
-  type=dnsdb key="a=shorthost.test.ex"
+  type=dnsdb key="a=shorthost.test.ex" opts=NULL
 cached data found but past valid time; database lookup required for a=shorthost.test.ex
 dnsdb key: shorthost.test.ex
 lookup yielded: 127.0.0.1
diff --git a/test/stderr/2202 b/test/stderr/2202
index f9dd812..a20ef03 100644
--- a/test/stderr/2202
+++ b/test/stderr/2202
@@ -32,10 +32,10 @@ processing "accept" (TESTSUITE/test-config 23)
 check hosts = +ignore_unknown : *.$sender_address_domain : $sender_address_domain : ${lookup dnsdb{>:defer_never,mxh=$sender_address_domain}}
  search_open: dnsdb "NULL"
  search_find: file="NULL"
-   key=">:defer_never,mxh=cioce.test.again.dns" partial=-1 affix=NULL starflags=0
+   key=">:defer_never,mxh=cioce.test.again.dns" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="NULL"
-   type=dnsdb key=">:defer_never,mxh=cioce.test.again.dns"
+   type=dnsdb key=">:defer_never,mxh=cioce.test.again.dns" opts=NULL
  database lookup required for >:defer_never,mxh=cioce.test.again.dns
  dnsdb key: cioce.test.again.dns
 DNS lookup of cioce.test.again.dns (MX) using fakens
diff --git a/test/stderr/2600 b/test/stderr/2600
index 69e23f8..3c4a592 100644
--- a/test/stderr/2600
+++ b/test/stderr/2600
@@ -4,30 +4,30 @@ admin user
 dropping to exim gid; retaining priv uid
  search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
  search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-   key="select name from them where id='userx';" partial=-1 affix=NULL starflags=0
+   key="select name from them where id='userx';" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-   type=sqlite key="select name from them where id='userx';"
+   type=sqlite key="select name from them where id='userx';" opts=NULL
  file lookup required for select name from them where id='userx';
    in TESTSUITE/aux-fixed/sqlitedb
  lookup yielded: Ayen Other
  search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
    cached open
  search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-   key="select name from them where id='userx';" partial=-1 affix=NULL starflags=0
+   key="select name from them where id='userx';" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-   type=sqlite key="select name from them where id='userx';"
+   type=sqlite key="select name from them where id='userx';" opts=NULL
  cached data used for lookup of select name from them where id='userx';
    in TESTSUITE/aux-fixed/sqlitedb
  lookup yielded: Ayen Other
  search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
    cached open
  search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-   key="select name from them where id='xxxx';" partial=-1 affix=NULL starflags=0
+   key="select name from them where id='xxxx';" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-   type=sqlite key="select name from them where id='xxxx';"
+   type=sqlite key="select name from them where id='xxxx';" opts=NULL
  file lookup required for select name from them where id='xxxx';
    in TESTSUITE/aux-fixed/sqlitedb
  lookup forced cache cleanup
@@ -35,40 +35,40 @@ dropping to exim gid; retaining priv uid
  search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
    cached open
  search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-   key="select name from them where id='nothing';" partial=-1 affix=NULL starflags=0
+   key="select name from them where id='nothing';" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-   type=sqlite key="select name from them where id='nothing';"
+   type=sqlite key="select name from them where id='nothing';" opts=NULL
  file lookup required for select name from them where id='nothing';
    in TESTSUITE/aux-fixed/sqlitedb
  lookup yielded: 
  search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
    cached open
  search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-   key="select id,name from them where id='nothing';" partial=-1 affix=NULL starflags=0
+   key="select id,name from them where id='nothing';" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-   type=sqlite key="select id,name from them where id='nothing';"
+   type=sqlite key="select id,name from them where id='nothing';" opts=NULL
  file lookup required for select id,name from them where id='nothing';
    in TESTSUITE/aux-fixed/sqlitedb
  lookup yielded: id=nothing name="" 
  search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
    cached open
  search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-   key="select * from them where id='quote2';" partial=-1 affix=NULL starflags=0
+   key="select * from them where id='quote2';" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-   type=sqlite key="select * from them where id='quote2';"
+   type=sqlite key="select * from them where id='quote2';" opts=NULL
  file lookup required for select * from them where id='quote2';
    in TESTSUITE/aux-fixed/sqlitedb
  lookup yielded: name="\"stquot" id=quote2 
  search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
    cached open
  search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-   key="select * from them where id='newline';" partial=-1 affix=NULL starflags=0
+   key="select * from them where id='newline';" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-   type=sqlite key="select * from them where id='newline';"
+   type=sqlite key="select * from them where id='newline';" opts=NULL
  file lookup required for select * from them where id='newline';
    in TESTSUITE/aux-fixed/sqlitedb
  lookup yielded: name="before
@@ -76,30 +76,30 @@ dropping to exim gid; retaining priv uid
  search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
    cached open
  search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-   key="select * from them where id='tab';" partial=-1 affix=NULL starflags=0
+   key="select * from them where id='tab';" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-   type=sqlite key="select * from them where id='tab';"
+   type=sqlite key="select * from them where id='tab';" opts=NULL
  file lookup required for select * from them where id='tab';
    in TESTSUITE/aux-fixed/sqlitedb
  lookup yielded: name="x    x" id=tab 
  search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
    cached open
  search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-   key="select * from them where id='its';" partial=-1 affix=NULL starflags=0
+   key="select * from them where id='its';" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-   type=sqlite key="select * from them where id='its';"
+   type=sqlite key="select * from them where id='its';" opts=NULL
  file lookup required for select * from them where id='its';
    in TESTSUITE/aux-fixed/sqlitedb
  lookup yielded: name=it's id=its 
  search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
    cached open
  search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-   key="select * from them where name='it''s';" partial=-1 affix=NULL starflags=0
+   key="select * from them where name='it''s';" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-   type=sqlite key="select * from them where name='it''s';"
+   type=sqlite key="select * from them where name='it''s';" opts=NULL
  file lookup required for select * from them where name='it''s';
    in TESTSUITE/aux-fixed/sqlitedb
  lookup yielded: name=it's id=its 
@@ -146,10 +146,10 @@ processing "accept" (TESTSUITE/test-config 27)
 check hosts = +relay_hosts
 search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
 search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-  key="select * from them where id='10.0.0.0'" partial=-1 affix=NULL starflags=0
+  key="select * from them where id='10.0.0.0'" partial=-1 affix=NULL starflags=0 opts=NULL
 LRU list:
 internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-  type=sqlite key="select * from them where id='10.0.0.0'"
+  type=sqlite key="select * from them where id='10.0.0.0'" opts=NULL
 file lookup required for select * from them where id='10.0.0.0'
   in TESTSUITE/aux-fixed/sqlitedb
 lookup forced cache cleanup
@@ -176,10 +176,10 @@ check hosts = +relay_hosts
 search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
   cached open
 search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-  key="select * from them where id='10.0.0.0'" partial=-1 affix=NULL starflags=0
+  key="select * from them where id='10.0.0.0'" partial=-1 affix=NULL starflags=0 opts=NULL
 LRU list:
 internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-  type=sqlite key="select * from them where id='10.0.0.0'"
+  type=sqlite key="select * from them where id='10.0.0.0'" opts=NULL
 file lookup required for select * from them where id='10.0.0.0'
   in TESTSUITE/aux-fixed/sqlitedb
 lookup forced cache cleanup
@@ -241,10 +241,10 @@ processing "accept" (TESTSUITE/test-config 27)
 check hosts = +relay_hosts
 search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
 search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-  key="select * from them where id='10.10.10.10'" partial=-1 affix=NULL starflags=0
+  key="select * from them where id='10.10.10.10'" partial=-1 affix=NULL starflags=0 opts=NULL
 LRU list:
 internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-  type=sqlite key="select * from them where id='10.10.10.10'"
+  type=sqlite key="select * from them where id='10.10.10.10'" opts=NULL
 file lookup required for select * from them where id='10.10.10.10'
   in TESTSUITE/aux-fixed/sqlitedb
 lookup yielded: name=ok id=10.10.10.10 
@@ -266,10 +266,10 @@ check hosts = +relay_hosts
 search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
   cached open
 search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-  key="select * from them where id='10.10.10.10'" partial=-1 affix=NULL starflags=0
+  key="select * from them where id='10.10.10.10'" partial=-1 affix=NULL starflags=0 opts=NULL
 LRU list:
 internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-  type=sqlite key="select * from them where id='10.10.10.10'"
+  type=sqlite key="select * from them where id='10.10.10.10'" opts=NULL
 cached data used for lookup of select * from them where id='10.10.10.10'
   in TESTSUITE/aux-fixed/sqlitedb
 lookup yielded: name=ok id=10.10.10.10 
@@ -376,10 +376,10 @@ local_part=userx domain=myhost.test.ex
 processing address_data
  search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
  search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-   key="select name from them where id='userx'" partial=-1 affix=NULL starflags=0
+   key="select name from them where id='userx'" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-   type=sqlite key="select name from them where id='userx'"
+   type=sqlite key="select name from them where id='userx'" opts=NULL
  file lookup required for select name from them where id='userx'
    in TESTSUITE/aux-fixed/sqlitedb
  lookup yielded: Ayen Other
@@ -418,10 +418,10 @@ set_process_info: pppp delivering 10HmaX-0005vi-00 to userx using t1
 appendfile transport entered
  search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
  search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-   key="select id from them where id='userx'" partial=-1 affix=NULL starflags=0
+   key="select id from them where id='userx'" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-   type=sqlite key="select id from them where id='userx'"
+   type=sqlite key="select id from them where id='userx'" opts=NULL
  file lookup required for select id from them where id='userx'
    in TESTSUITE/aux-fixed/sqlitedb
  lookup yielded: userx
@@ -480,10 +480,10 @@ admin user
 dropping to exim gid; retaining priv uid
  search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
  search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-   key="select name from them where id='userx';" partial=-1 affix=NULL starflags=0
+   key="select name from them where id='userx';" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-   type=sqlite key="select name from them where id='userx';"
+   type=sqlite key="select name from them where id='userx';" opts=NULL
  file lookup required for select name from them where id='userx';
    in TESTSUITE/aux-fixed/sqlitedb
  lookup yielded: Ayen Other
diff --git a/test/stderr/2610 b/test/stderr/2610
index 36bb8e9..a59624c 100644
--- a/test/stderr/2610
+++ b/test/stderr/2610
@@ -4,10 +4,10 @@ admin user
 dropping to exim gid; retaining priv uid
  search_open: mysql "NULL"
  search_find: file="NULL"
-   key="select name from them where id='ph10';" partial=-1 affix=NULL starflags=0
+   key="select name from them where id='ph10';" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="NULL"
-   type=mysql key="select name from them where id='ph10';"
+   type=mysql key="select name from them where id='ph10';" opts=NULL
  database lookup required for select name from them where id='ph10';
  MySQL query: select name from them where id='ph10';
  MYSQL new connection: host=127.0.0.1 port=1223 socket=NULL database=test user=root
@@ -15,19 +15,19 @@ dropping to exim gid; retaining priv uid
  search_open: mysql "NULL"
    cached open
  search_find: file="NULL"
-   key="select name from them where id='ph10';" partial=-1 affix=NULL starflags=0
+   key="select name from them where id='ph10';" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="NULL"
-   type=mysql key="select name from them where id='ph10';"
+   type=mysql key="select name from them where id='ph10';" opts=NULL
  cached data used for lookup of select name from them where id='ph10';
  lookup yielded: Philip Hazel
  search_open: mysql "NULL"
    cached open
  search_find: file="NULL"
-   key="select name from them where id='xxxx';" partial=-1 affix=NULL starflags=0
+   key="select name from them where id='xxxx';" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="NULL"
-   type=mysql key="select name from them where id='xxxx';"
+   type=mysql key="select name from them where id='xxxx';" opts=NULL
  database lookup required for select name from them where id='xxxx';
  MySQL query: select name from them where id='xxxx';
  MYSQL using cached connection for 127.0.0.1:1223/test/root
@@ -36,10 +36,10 @@ dropping to exim gid; retaining priv uid
  search_open: mysql "NULL"
    cached open
  search_find: file="NULL"
-   key="select name from them where id='nothing';" partial=-1 affix=NULL starflags=0
+   key="select name from them where id='nothing';" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="NULL"
-   type=mysql key="select name from them where id='nothing';"
+   type=mysql key="select name from them where id='nothing';" opts=NULL
  database lookup required for select name from them where id='nothing';
  MySQL query: select name from them where id='nothing';
  MYSQL using cached connection for 127.0.0.1:1223/test/root
@@ -47,10 +47,10 @@ dropping to exim gid; retaining priv uid
  search_open: mysql "NULL"
    cached open
  search_find: file="NULL"
-   key="select id,name from them where id='nothing';" partial=-1 affix=NULL starflags=0
+   key="select id,name from them where id='nothing';" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="NULL"
-   type=mysql key="select id,name from them where id='nothing';"
+   type=mysql key="select id,name from them where id='nothing';" opts=NULL
  database lookup required for select id,name from them where id='nothing';
  MySQL query: select id,name from them where id='nothing';
  MYSQL using cached connection for 127.0.0.1:1223/test/root
@@ -58,10 +58,10 @@ dropping to exim gid; retaining priv uid
  search_open: mysql "NULL"
    cached open
  search_find: file="NULL"
-   key="delete from them where id='nonexist';" partial=-1 affix=NULL starflags=0
+   key="delete from them where id='nonexist';" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="NULL"
-   type=mysql key="delete from them where id='nonexist';"
+   type=mysql key="delete from them where id='nonexist';" opts=NULL
  database lookup required for delete from them where id='nonexist';
  MySQL query: delete from them where id='nonexist';
  MYSQL using cached connection for 127.0.0.1:1223/test/root
@@ -71,10 +71,10 @@ dropping to exim gid; retaining priv uid
  search_open: mysql "NULL"
    cached open
  search_find: file="NULL"
-   key="select * from them where id='quote';" partial=-1 affix=NULL starflags=0
+   key="select * from them where id='quote';" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="NULL"
-   type=mysql key="select * from them where id='quote';"
+   type=mysql key="select * from them where id='quote';" opts=NULL
  database lookup required for select * from them where id='quote';
  MySQL query: select * from them where id='quote';
  MYSQL using cached connection for 127.0.0.1:1223/test/root
@@ -83,10 +83,10 @@ dropping to exim gid; retaining priv uid
  search_open: mysql "NULL"
    cached open
  search_find: file="NULL"
-   key="select * from them where id='filter';" partial=-1 affix=NULL starflags=0
+   key="select * from them where id='filter';" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="NULL"
-   type=mysql key="select * from them where id='filter';"
+   type=mysql key="select * from them where id='filter';" opts=NULL
  database lookup required for select * from them where id='filter';
  MySQL query: select * from them where id='filter';
  MYSQL using cached connection for 127.0.0.1:1223/test/root
@@ -95,10 +95,10 @@ dropping to exim gid; retaining priv uid
  search_open: mysql "NULL"
    cached open
  search_find: file="NULL"
-   key="select * from them where id='quote2';" partial=-1 affix=NULL starflags=0
+   key="select * from them where id='quote2';" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="NULL"
-   type=mysql key="select * from them where id='quote2';"
+   type=mysql key="select * from them where id='quote2';" opts=NULL
  database lookup required for select * from them where id='quote2';
  MySQL query: select * from them where id='quote2';
  MYSQL using cached connection for 127.0.0.1:1223/test/root
@@ -106,10 +106,10 @@ dropping to exim gid; retaining priv uid
  search_open: mysql "NULL"
    cached open
  search_find: file="NULL"
-   key="select * from them where id='nlonly';" partial=-1 affix=NULL starflags=0
+   key="select * from them where id='nlonly';" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="NULL"
-   type=mysql key="select * from them where id='nlonly';"
+   type=mysql key="select * from them where id='nlonly';" opts=NULL
  database lookup required for select * from them where id='nlonly';
  MySQL query: select * from them where id='nlonly';
  MYSQL using cached connection for 127.0.0.1:1223/test/root
@@ -118,20 +118,20 @@ dropping to exim gid; retaining priv uid
  search_open: mysql "NULL"
    cached open
  search_find: file="NULL"
-   key="servers=x:127.0.0.1::1223; select name from them where id='ph10';" partial=-1 affix=NULL starflags=0
+   key="servers=x:127.0.0.1::1223; select name from them where id='ph10';" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="NULL"
-   type=mysql key="servers=x:127.0.0.1::1223; select name from them where id='ph10';"
+   type=mysql key="servers=x:127.0.0.1::1223; select name from them where id='ph10';" opts=NULL
  database lookup required for servers=x:127.0.0.1::1223; select name from them where id='ph10';
  MySQL query: servers=x:127.0.0.1::1223; select name from them where id='ph10';
  lookup deferred: MySQL server "x" not found in mysql_servers
  search_open: mysql "NULL"
    cached open
  search_find: file="NULL"
-   key="servers=127.0.0.1::1223:x; select name from them where id='ph10';" partial=-1 affix=NULL starflags=0
+   key="servers=127.0.0.1::1223:x; select name from them where id='ph10';" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="NULL"
-   type=mysql key="servers=127.0.0.1::1223:x; select name from them where id='ph10';"
+   type=mysql key="servers=127.0.0.1::1223:x; select name from them where id='ph10';" opts=NULL
  database lookup required for servers=127.0.0.1::1223:x; select name from them where id='ph10';
  MySQL query: servers=127.0.0.1::1223:x; select name from them where id='ph10';
  MYSQL using cached connection for 127.0.0.1:1223/test/root
@@ -139,10 +139,10 @@ dropping to exim gid; retaining priv uid
  search_open: mysql "NULL"
    cached open
  search_find: file="NULL"
-   key="servers=127.0.0.1::1223/test/root/:x; select name from them where id='ph10';" partial=-1 affix=NULL starflags=0
+   key="servers=127.0.0.1::1223/test/root/:x; select name from them where id='ph10';" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="NULL"
-   type=mysql key="servers=127.0.0.1::1223/test/root/:x; select name from them where id='ph10';"
+   type=mysql key="servers=127.0.0.1::1223/test/root/:x; select name from them where id='ph10';" opts=NULL
  database lookup required for servers=127.0.0.1::1223/test/root/:x; select name from them where id='ph10';
  MySQL query: servers=127.0.0.1::1223/test/root/:x; select name from them where id='ph10';
  MYSQL using cached connection for 127.0.0.1:1223/test/root
@@ -150,10 +150,10 @@ dropping to exim gid; retaining priv uid
  search_open: mysql "NULL"
    cached open
  search_find: file="NULL"
-   key="servers=ip4.ip4.ip4.ip4::1223/test/root/:127.0.0.1::1223; select name from them where id='ph10';" partial=-1 affix=NULL starflags=0
+   key="servers=ip4.ip4.ip4.ip4::1223/test/root/:127.0.0.1::1223; select name from them where id='ph10';" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="NULL"
-   type=mysql key="servers=ip4.ip4.ip4.ip4::1223/test/root/:127.0.0.1::1223; select name from them where id='ph10';"
+   type=mysql key="servers=ip4.ip4.ip4.ip4::1223/test/root/:127.0.0.1::1223; select name from them where id='ph10';" opts=NULL
  database lookup required for servers=ip4.ip4.ip4.ip4::1223/test/root/:127.0.0.1::1223; select name from them where id='ph10';
  MySQL query: servers=ip4.ip4.ip4.ip4::1223/test/root/:127.0.0.1::1223; select name from them where id='ph10';
  MYSQL new connection: host=ip4.ip4.ip4.ip4 port=1223 socket=NULL database=test user=root
@@ -161,10 +161,10 @@ dropping to exim gid; retaining priv uid
  search_open: mysql "NULL"
    cached open
  search_find: file="NULL"
-   key="servers=localhost(TESTSUITE/mysql/sock)/test/root/; select name from them where id='ph10';" partial=-1 affix=NULL starflags=0
+   key="servers=localhost(TESTSUITE/mysql/sock)/test/root/; select name from them where id='ph10';" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="NULL"
-   type=mysql key="servers=localhost(TESTSUITE/mysql/sock)/test/root/; select name from them where id='ph10';"
+   type=mysql key="servers=localhost(TESTSUITE/mysql/sock)/test/root/; select name from them where id='ph10';" opts=NULL
  database lookup required for servers=localhost(TESTSUITE/mysql/sock)/test/root/; select name from them where id='ph10';
  MySQL query: servers=localhost(TESTSUITE/mysql/sock)/test/root/; select name from them where id='ph10';
  MYSQL new connection: host=localhost port=0 socket=TESTSUITE/mysql/sock database=test user=root
@@ -172,10 +172,10 @@ dropping to exim gid; retaining priv uid
  search_open: mysql "NULL"
    cached open
  search_find: file="NULL"
-   key="SELECT name FROM them WHERE id IN ('ph10', 'aaaa');" partial=-1 affix=NULL starflags=0
+   key="SELECT name FROM them WHERE id IN ('ph10', 'aaaa');" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="NULL"
-   type=mysql key="SELECT name FROM them WHERE id IN ('ph10', 'aaaa');"
+   type=mysql key="SELECT name FROM them WHERE id IN ('ph10', 'aaaa');" opts=NULL
  database lookup required for SELECT name FROM them WHERE id IN ('ph10', 'aaaa');
  MySQL query: SELECT name FROM them WHERE id IN ('ph10', 'aaaa');
  MYSQL using cached connection for 127.0.0.1:1223/test/root
@@ -184,10 +184,10 @@ dropping to exim gid; retaining priv uid
  search_open: mysql "NULL"
    cached open
  search_find: file="NULL"
-   key="SELECT *    FROM them WHERE id IN ('ph10', 'aaaa');" partial=-1 affix=NULL starflags=0
+   key="SELECT *    FROM them WHERE id IN ('ph10', 'aaaa');" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="NULL"
-   type=mysql key="SELECT *    FROM them WHERE id IN ('ph10', 'aaaa');"
+   type=mysql key="SELECT *    FROM them WHERE id IN ('ph10', 'aaaa');" opts=NULL
  database lookup required for SELECT *    FROM them WHERE id IN ('ph10', 'aaaa');
  MySQL query: SELECT *    FROM them WHERE id IN ('ph10', 'aaaa');
  MYSQL using cached connection for 127.0.0.1:1223/test/root
@@ -196,10 +196,10 @@ dropping to exim gid; retaining priv uid
  search_open: mysql "NULL"
    cached open
  search_find: file="NULL"
-   key="delete from them where id='aaaa'" partial=-1 affix=NULL starflags=0
+   key="delete from them where id='aaaa'" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="NULL"
-   type=mysql key="delete from them where id='aaaa'"
+   type=mysql key="delete from them where id='aaaa'" opts=NULL
  database lookup required for delete from them where id='aaaa'
  MySQL query: delete from them where id='aaaa'
  MYSQL using cached connection for 127.0.0.1:1223/test/root
@@ -252,10 +252,10 @@ processing "accept" (TESTSUITE/test-config 23)
 check hosts = +relay_hosts
 search_open: mysql "NULL"
 search_find: file="NULL"
-  key="select * from them where id='10.0.0.0'" partial=-1 affix=NULL starflags=0
+  key="select * from them where id='10.0.0.0'" partial=-1 affix=NULL starflags=0 opts=NULL
 LRU list:
 internal_search_find: file="NULL"
-  type=mysql key="select * from them where id='10.0.0.0'"
+  type=mysql key="select * from them where id='10.0.0.0'" opts=NULL
 database lookup required for select * from them where id='10.0.0.0'
 MySQL query: select * from them where id='10.0.0.0'
 MYSQL new connection: host=127.0.0.1 port=1223 socket=NULL database=test user=root
@@ -369,10 +369,10 @@ local_part=ph10 domain=myhost.test.ex
 processing address_data
  search_open: mysql "NULL"
  search_find: file="NULL"
-   key="select name from them where id='ph10'" partial=-1 affix=NULL starflags=0
+   key="select name from them where id='ph10'" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="NULL"
-   type=mysql key="select name from them where id='ph10'"
+   type=mysql key="select name from them where id='ph10'" opts=NULL
  database lookup required for select name from them where id='ph10'
  MySQL query: select name from them where id='ph10'
  MYSQL new connection: host=127.0.0.1 port=1223 socket=NULL database=test user=root
@@ -413,10 +413,10 @@ set_process_info: pppp delivering 10HmaX-0005vi-00 to ph10 using t1
 appendfile transport entered
  search_open: mysql "NULL"
  search_find: file="NULL"
-   key="select id from them where id='ph10'" partial=-1 affix=NULL starflags=0
+   key="select id from them where id='ph10'" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="NULL"
-   type=mysql key="select id from them where id='ph10'"
+   type=mysql key="select id from them where id='ph10'" opts=NULL
  database lookup required for select id from them where id='ph10'
  MySQL query: select id from them where id='ph10'
  MYSQL new connection: host=127.0.0.1 port=1223 socket=NULL database=test user=root
diff --git a/test/stderr/2620 b/test/stderr/2620
index 3bbe56f..2eae8ee 100644
--- a/test/stderr/2620
+++ b/test/stderr/2620
@@ -8,10 +8,10 @@ admin user
 dropping to exim gid; retaining priv uid
  search_open: pgsql "NULL"
  search_find: file="NULL"
-   key="select name from them where id='ph10';" partial=-1 affix=NULL starflags=0
+   key="select name from them where id='ph10';" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="NULL"
-   type=pgsql key="select name from them where id='ph10';"
+   type=pgsql key="select name from them where id='ph10';" opts=NULL
  database lookup required for select name from them where id='ph10';
  PostgreSQL query: select name from them where id='ph10';
  PGSQL new connection: host=localhost port=1223 database=test user=CALLER
@@ -19,19 +19,19 @@ dropping to exim gid; retaining priv uid
  search_open: pgsql "NULL"
    cached open
  search_find: file="NULL"
-   key="select name from them where id='ph10';" partial=-1 affix=NULL starflags=0
+   key="select name from them where id='ph10';" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="NULL"
-   type=pgsql key="select name from them where id='ph10';"
+   type=pgsql key="select name from them where id='ph10';" opts=NULL
  cached data used for lookup of select name from them where id='ph10';
  lookup yielded: Philip Hazel
  search_open: pgsql "NULL"
    cached open
  search_find: file="NULL"
-   key="select name from them where id='xxxx';" partial=-1 affix=NULL starflags=0
+   key="select name from them where id='xxxx';" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="NULL"
-   type=pgsql key="select name from them where id='xxxx';"
+   type=pgsql key="select name from them where id='xxxx';" opts=NULL
  database lookup required for select name from them where id='xxxx';
  PostgreSQL query: select name from them where id='xxxx';
  PGSQL using cached connection for localhost:1223/test/CALLER
@@ -40,10 +40,10 @@ dropping to exim gid; retaining priv uid
  search_open: pgsql "NULL"
    cached open
  search_find: file="NULL"
-   key="select name from them where id='nothing';" partial=-1 affix=NULL starflags=0
+   key="select name from them where id='nothing';" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="NULL"
-   type=pgsql key="select name from them where id='nothing';"
+   type=pgsql key="select name from them where id='nothing';" opts=NULL
  database lookup required for select name from them where id='nothing';
  PostgreSQL query: select name from them where id='nothing';
  PGSQL using cached connection for localhost:1223/test/CALLER
@@ -51,10 +51,10 @@ dropping to exim gid; retaining priv uid
  search_open: pgsql "NULL"
    cached open
  search_find: file="NULL"
-   key="select id,name from them where id='nothing';" partial=-1 affix=NULL starflags=0
+   key="select id,name from them where id='nothing';" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="NULL"
-   type=pgsql key="select id,name from them where id='nothing';"
+   type=pgsql key="select id,name from them where id='nothing';" opts=NULL
  database lookup required for select id,name from them where id='nothing';
  PostgreSQL query: select id,name from them where id='nothing';
  PGSQL using cached connection for localhost:1223/test/CALLER
@@ -62,10 +62,10 @@ dropping to exim gid; retaining priv uid
  search_open: pgsql "NULL"
    cached open
  search_find: file="NULL"
-   key="delete from them where id='nonexist';" partial=-1 affix=NULL starflags=0
+   key="delete from them where id='nonexist';" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="NULL"
-   type=pgsql key="delete from them where id='nonexist';"
+   type=pgsql key="delete from them where id='nonexist';" opts=NULL
  database lookup required for delete from them where id='nonexist';
  PostgreSQL query: delete from them where id='nonexist';
  PGSQL using cached connection for localhost:1223/test/CALLER
@@ -75,10 +75,10 @@ dropping to exim gid; retaining priv uid
  search_open: pgsql "NULL"
    cached open
  search_find: file="NULL"
-   key="select * from them where id='quote2';" partial=-1 affix=NULL starflags=0
+   key="select * from them where id='quote2';" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="NULL"
-   type=pgsql key="select * from them where id='quote2';"
+   type=pgsql key="select * from them where id='quote2';" opts=NULL
  database lookup required for select * from them where id='quote2';
  PostgreSQL query: select * from them where id='quote2';
  PGSQL using cached connection for localhost:1223/test/CALLER
@@ -86,10 +86,10 @@ dropping to exim gid; retaining priv uid
  search_open: pgsql "NULL"
    cached open
  search_find: file="NULL"
-   key="select * from them where id='newline';" partial=-1 affix=NULL starflags=0
+   key="select * from them where id='newline';" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="NULL"
-   type=pgsql key="select * from them where id='newline';"
+   type=pgsql key="select * from them where id='newline';" opts=NULL
  database lookup required for select * from them where id='newline';
  PostgreSQL query: select * from them where id='newline';
  PGSQL using cached connection for localhost:1223/test/CALLER
@@ -98,10 +98,10 @@ dropping to exim gid; retaining priv uid
  search_open: pgsql "NULL"
    cached open
  search_find: file="NULL"
-   key="select * from them where id='tab';" partial=-1 affix=NULL starflags=0
+   key="select * from them where id='tab';" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="NULL"
-   type=pgsql key="select * from them where id='tab';"
+   type=pgsql key="select * from them where id='tab';" opts=NULL
  database lookup required for select * from them where id='tab';
  PostgreSQL query: select * from them where id='tab';
  PGSQL using cached connection for localhost:1223/test/CALLER
@@ -109,10 +109,10 @@ dropping to exim gid; retaining priv uid
  search_open: pgsql "NULL"
    cached open
  search_find: file="NULL"
-   key="select * from them where name='''stquot';" partial=-1 affix=NULL starflags=0
+   key="select * from them where name='''stquot';" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="NULL"
-   type=pgsql key="select * from them where name='''stquot';"
+   type=pgsql key="select * from them where name='''stquot';" opts=NULL
  database lookup required for select * from them where name='''stquot';
  PostgreSQL query: select * from them where name='''stquot';
  PGSQL using cached connection for localhost:1223/test/CALLER
@@ -120,20 +120,20 @@ dropping to exim gid; retaining priv uid
  search_open: pgsql "NULL"
    cached open
  search_find: file="NULL"
-   key="servers=x:localhost; select name from them where id='ph10';" partial=-1 affix=NULL starflags=0
+   key="servers=x:localhost; select name from them where id='ph10';" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="NULL"
-   type=pgsql key="servers=x:localhost; select name from them where id='ph10';"
+   type=pgsql key="servers=x:localhost; select name from them where id='ph10';" opts=NULL
  database lookup required for servers=x:localhost; select name from them where id='ph10';
  PostgreSQL query: servers=x:localhost; select name from them where id='ph10';
  lookup deferred: PostgreSQL server "x" not found in pgsql_servers
  search_open: pgsql "NULL"
    cached open
  search_find: file="NULL"
-   key="servers=localhost::1223:x; select name from them where id='ph10';" partial=-1 affix=NULL starflags=0
+   key="servers=localhost::1223:x; select name from them where id='ph10';" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="NULL"
-   type=pgsql key="servers=localhost::1223:x; select name from them where id='ph10';"
+   type=pgsql key="servers=localhost::1223:x; select name from them where id='ph10';" opts=NULL
  database lookup required for servers=localhost::1223:x; select name from them where id='ph10';
  PostgreSQL query: servers=localhost::1223:x; select name from them where id='ph10';
  PGSQL using cached connection for localhost:1223/test/CALLER
@@ -141,10 +141,10 @@ dropping to exim gid; retaining priv uid
  search_open: pgsql "NULL"
    cached open
  search_find: file="NULL"
-   key="servers=localhost::1223/test/CALLER/:x; select name from them where id='ph10';" partial=-1 affix=NULL starflags=0
+   key="servers=localhost::1223/test/CALLER/:x; select name from them where id='ph10';" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="NULL"
-   type=pgsql key="servers=localhost::1223/test/CALLER/:x; select name from them where id='ph10';"
+   type=pgsql key="servers=localhost::1223/test/CALLER/:x; select name from them where id='ph10';" opts=NULL
  database lookup required for servers=localhost::1223/test/CALLER/:x; select name from them where id='ph10';
  PostgreSQL query: servers=localhost::1223/test/CALLER/:x; select name from them where id='ph10';
  PGSQL using cached connection for localhost:1223/test/CALLER
@@ -152,10 +152,10 @@ dropping to exim gid; retaining priv uid
  search_open: pgsql "NULL"
    cached open
  search_find: file="NULL"
-   key="servers=(TESTSUITE/pgsql/.s.PGSQL.1223)/test/CALLER/:x; select name from them where id='ph10';" partial=-1 affix=NULL starflags=0
+   key="servers=(TESTSUITE/pgsql/.s.PGSQL.1223)/test/CALLER/:x; select name from them where id='ph10';" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="NULL"
-   type=pgsql key="servers=(TESTSUITE/pgsql/.s.PGSQL.1223)/test/CALLER/:x; select name from them where id='ph10';"
+   type=pgsql key="servers=(TESTSUITE/pgsql/.s.PGSQL.1223)/test/CALLER/:x; select name from them where id='ph10';" opts=NULL
  database lookup required for servers=(TESTSUITE/pgsql/.s.PGSQL.1223)/test/CALLER/:x; select name from them where id='ph10';
  PostgreSQL query: servers=(TESTSUITE/pgsql/.s.PGSQL.1223)/test/CALLER/:x; select name from them where id='ph10';
  PGSQL new connection: socket=TESTSUITE/pgsql/.s.PGSQL.1223 database=test user=CALLER
@@ -163,10 +163,10 @@ dropping to exim gid; retaining priv uid
  search_open: pgsql "NULL"
    cached open
  search_find: file="NULL"
-   key="SELECT name FROM them WHERE id IN ('ph10', 'aaaa');" partial=-1 affix=NULL starflags=0
+   key="SELECT name FROM them WHERE id IN ('ph10', 'aaaa');" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="NULL"
-   type=pgsql key="SELECT name FROM them WHERE id IN ('ph10', 'aaaa');"
+   type=pgsql key="SELECT name FROM them WHERE id IN ('ph10', 'aaaa');" opts=NULL
  database lookup required for SELECT name FROM them WHERE id IN ('ph10', 'aaaa');
  PostgreSQL query: SELECT name FROM them WHERE id IN ('ph10', 'aaaa');
  PGSQL using cached connection for localhost:1223/test/CALLER
@@ -175,10 +175,10 @@ dropping to exim gid; retaining priv uid
  search_open: pgsql "NULL"
    cached open
  search_find: file="NULL"
-   key="SELECT *    FROM them WHERE id IN ('ph10', 'aaaa');" partial=-1 affix=NULL starflags=0
+   key="SELECT *    FROM them WHERE id IN ('ph10', 'aaaa');" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="NULL"
-   type=pgsql key="SELECT *    FROM them WHERE id IN ('ph10', 'aaaa');"
+   type=pgsql key="SELECT *    FROM them WHERE id IN ('ph10', 'aaaa');" opts=NULL
  database lookup required for SELECT *    FROM them WHERE id IN ('ph10', 'aaaa');
  PostgreSQL query: SELECT *    FROM them WHERE id IN ('ph10', 'aaaa');
  PGSQL using cached connection for localhost:1223/test/CALLER
@@ -187,10 +187,10 @@ dropping to exim gid; retaining priv uid
  search_open: pgsql "NULL"
    cached open
  search_find: file="NULL"
-   key="delete from them where id='aaaa'" partial=-1 affix=NULL starflags=0
+   key="delete from them where id='aaaa'" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="NULL"
-   type=pgsql key="delete from them where id='aaaa'"
+   type=pgsql key="delete from them where id='aaaa'" opts=NULL
  database lookup required for delete from them where id='aaaa'
  PostgreSQL query: delete from them where id='aaaa'
  PGSQL using cached connection for localhost:1223/test/CALLER
@@ -242,10 +242,10 @@ processing "accept" (TESTSUITE/test-config 26)
 check hosts = +relay_hosts
 search_open: pgsql "NULL"
 search_find: file="NULL"
-  key="select * from them where id='10.0.0.0'" partial=-1 affix=NULL starflags=0
+  key="select * from them where id='10.0.0.0'" partial=-1 affix=NULL starflags=0 opts=NULL
 LRU list:
 internal_search_find: file="NULL"
-  type=pgsql key="select * from them where id='10.0.0.0'"
+  type=pgsql key="select * from them where id='10.0.0.0'" opts=NULL
 database lookup required for select * from them where id='10.0.0.0'
 PostgreSQL query: select * from them where id='10.0.0.0'
 PGSQL new connection: host=localhost port=1223 database=test user=CALLER
@@ -273,10 +273,10 @@ check hosts = +relay_hosts
 search_open: pgsql "NULL"
   cached open
 search_find: file="NULL"
-  key="select * from them where id='10.0.0.0'" partial=-1 affix=NULL starflags=0
+  key="select * from them where id='10.0.0.0'" partial=-1 affix=NULL starflags=0 opts=NULL
 LRU list:
 internal_search_find: file="NULL"
-  type=pgsql key="select * from them where id='10.0.0.0'"
+  type=pgsql key="select * from them where id='10.0.0.0'" opts=NULL
 cached data used for lookup of select * from them where id='10.0.0.0'
 lookup failed
 host in "net-pgsql;select * from them where id='10.0.0.0'"? no (end of list)
@@ -387,10 +387,10 @@ local_part=CALLER domain=myhost.test.ex
 processing address_data
  search_open: pgsql "NULL"
  search_find: file="NULL"
-   key="select name from them where id='ph10'" partial=-1 affix=NULL starflags=0
+   key="select name from them where id='ph10'" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="NULL"
-   type=pgsql key="select name from them where id='ph10'"
+   type=pgsql key="select name from them where id='ph10'" opts=NULL
  database lookup required for select name from them where id='ph10'
  PostgreSQL query: select name from them where id='ph10'
  PGSQL new connection: host=localhost port=1223 database=test user=CALLER
@@ -431,10 +431,10 @@ set_process_info: pppp delivering 10HmaX-0005vi-00 to CALLER using t1
 appendfile transport entered
  search_open: pgsql "NULL"
  search_find: file="NULL"
-   key="select id from them where id='ph10'" partial=-1 affix=NULL starflags=0
+   key="select id from them where id='ph10'" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="NULL"
-   type=pgsql key="select id from them where id='ph10'"
+   type=pgsql key="select id from them where id='ph10'" opts=NULL
  database lookup required for select id from them where id='ph10'
  PostgreSQL query: select id from them where id='ph10'
  PGSQL new connection: host=localhost port=1223 database=test user=CALLER
@@ -495,10 +495,10 @@ admin user
 dropping to exim gid; retaining priv uid
  search_open: pgsql "NULL"
  search_find: file="NULL"
-   key="select name from them where id='ph10';" partial=-1 affix=NULL starflags=0
+   key="select name from them where id='ph10';" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="NULL"
-   type=pgsql key="select name from them where id='ph10';"
+   type=pgsql key="select name from them where id='ph10';" opts=NULL
  database lookup required for select name from them where id='ph10';
  PostgreSQL query: select name from them where id='ph10';
  PGSQL new connection: socket=TESTSUITE/pgsql/.s.PGSQL.1223 database=test user=CALLER
diff --git a/test/stderr/3201 b/test/stderr/3201
index 31f3469..32bf69c 100644
--- a/test/stderr/3201
+++ b/test/stderr/3201
@@ -25,10 +25,10 @@ processing "deny" (TESTSUITE/test-config 18)
 check hosts = testdb;fail
 search_open: testdb "NULL"
 search_find: file="NULL"
-  key="fail" partial=-1 affix=NULL starflags=0
+  key="fail" partial=-1 affix=NULL starflags=0 opts=NULL
 LRU list:
 internal_search_find: file="NULL"
-  type=testdb key="fail"
+  type=testdb key="fail" opts=NULL
 database lookup required for fail
 testdb lookup forced FAIL
 lookup failed
@@ -67,10 +67,10 @@ processing "deny" (TESTSUITE/test-config 21)
 check hosts = net-testdb;fail
 search_open: testdb "NULL"
 search_find: file="NULL"
-  key="fail" partial=-1 affix=NULL starflags=0
+  key="fail" partial=-1 affix=NULL starflags=0 opts=NULL
 LRU list:
 internal_search_find: file="NULL"
-  type=testdb key="fail"
+  type=testdb key="fail" opts=NULL
 database lookup required for fail
 testdb lookup forced FAIL
 lookup failed
diff --git a/test/stderr/3210 b/test/stderr/3210
index 86ad7e3..312fdc3 100644
--- a/test/stderr/3210
+++ b/test/stderr/3210
@@ -20,10 +20,10 @@ local_part=userx domain=test.ex
 checking domains
 search_open: testdb "NULL"
 search_find: file="NULL"
-  key="defer" partial=-1 affix=NULL starflags=0
+  key="defer" partial=-1 affix=NULL starflags=0 opts=NULL
 LRU list:
 internal_search_find: file="NULL"
-  type=testdb key="defer"
+  type=testdb key="defer" opts=NULL
 database lookup required for defer
 testdb lookup forced DEFER
 lookup deferred: testdb lookup forced DEFER
diff --git a/test/stderr/3212 b/test/stderr/3212
index ed2b4ac..1c944c2 100644
--- a/test/stderr/3212
+++ b/test/stderr/3212
@@ -8,128 +8,128 @@ originator: uid=CALLER_UID gid=CALLER_GID login=CALLER name=CALLER_NAME
 sender address = CALLER@???
  search_open: lsearch "TESTSUITE/aux-fixed/3212.aliases"
  search_find: file="TESTSUITE/aux-fixed/3212.aliases"
-   key="list" partial=-1 affix=NULL starflags=0
+   key="list" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/3212.aliases
    End
  internal_search_find: file="TESTSUITE/aux-fixed/3212.aliases"
-   type=lsearch key="list"
+   type=lsearch key="list" opts=NULL
  file lookup required for list
    in TESTSUITE/aux-fixed/3212.aliases
  lookup yielded: userx, usery
  search_open: lsearch "TESTSUITE/aux-fixed/3212.aliases"
    cached open
  search_find: file="TESTSUITE/aux-fixed/3212.aliases"
-   key="list" partial=-1 affix=NULL starflags=0
+   key="list" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/3212.aliases
    End
  internal_search_find: file="TESTSUITE/aux-fixed/3212.aliases"
-   type=lsearch key="list"
+   type=lsearch key="list" opts=NULL
  cached data used for lookup of list
    in TESTSUITE/aux-fixed/3212.aliases
  lookup yielded: userx, usery
  search_open: lsearch "TESTSUITE/aux-fixed/3212.aliases"
    cached open
  search_find: file="TESTSUITE/aux-fixed/3212.aliases"
-   key="root" partial=-1 affix=NULL starflags=0
+   key="root" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/3212.aliases
    End
  internal_search_find: file="TESTSUITE/aux-fixed/3212.aliases"
-   type=lsearch key="root"
+   type=lsearch key="root" opts=NULL
  file lookup required for root
    in TESTSUITE/aux-fixed/3212.aliases
  lookup yielded: userx
  search_open: lsearch "TESTSUITE/aux-fixed/3212.aliases"
    cached open
  search_find: file="TESTSUITE/aux-fixed/3212.aliases"
-   key="root" partial=-1 affix=NULL starflags=0
+   key="root" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/3212.aliases
    End
  internal_search_find: file="TESTSUITE/aux-fixed/3212.aliases"
-   type=lsearch key="root"
+   type=lsearch key="root" opts=NULL
  cached data used for lookup of root
    in TESTSUITE/aux-fixed/3212.aliases
  lookup yielded: userx
  search_open: lsearch "TESTSUITE/aux-fixed/3212.aliases"
    cached open
  search_find: file="TESTSUITE/aux-fixed/3212.aliases"
-   key="list" partial=-1 affix=NULL starflags=0
+   key="list" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/3212.aliases
    End
  internal_search_find: file="TESTSUITE/aux-fixed/3212.aliases"
-   type=lsearch key="list"
+   type=lsearch key="list" opts=NULL
  cached data used for lookup of list
    in TESTSUITE/aux-fixed/3212.aliases
  lookup yielded: userx, usery
  search_open: testdb "NULL"
  search_find: file="NULL"
-   key="something" partial=-1 affix=NULL starflags=0
+   key="something" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/3212.aliases
    End
  internal_search_find: file="NULL"
-   type=testdb key="something"
+   type=testdb key="something" opts=NULL
  database lookup required for something
  lookup yielded: something
  search_open: testdb "NULL"
    cached open
  search_find: file="NULL"
-   key="something" partial=-1 affix=NULL starflags=0
+   key="something" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/3212.aliases
    End
  internal_search_find: file="NULL"
-   type=testdb key="something"
+   type=testdb key="something" opts=NULL
  cached data used for lookup of something
  lookup yielded: something
  search_open: testdb "NULL"
    cached open
  search_find: file="NULL"
-   key="nocache" partial=-1 affix=NULL starflags=0
+   key="nocache" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/3212.aliases
    End
  internal_search_find: file="NULL"
-   type=testdb key="nocache"
+   type=testdb key="nocache" opts=NULL
  database lookup required for nocache
  lookup forced cache cleanup
  lookup yielded: nocache
  search_open: testdb "NULL"
    cached open
  search_find: file="NULL"
-   key="something" partial=-1 affix=NULL starflags=0
+   key="something" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/3212.aliases
    End
  internal_search_find: file="NULL"
-   type=testdb key="something"
+   type=testdb key="something" opts=NULL
  database lookup required for something
  lookup yielded: something
  search_open: lsearch "TESTSUITE/aux-fixed/3212.aliases"
    cached open
  search_find: file="TESTSUITE/aux-fixed/3212.aliases"
-   key="list" partial=-1 affix=NULL starflags=0
+   key="list" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/3212.aliases
    End
  internal_search_find: file="TESTSUITE/aux-fixed/3212.aliases"
-   type=lsearch key="list"
+   type=lsearch key="list" opts=NULL
  cached data used for lookup of list
    in TESTSUITE/aux-fixed/3212.aliases
  lookup yielded: userx, usery
  search_open: lsearch "TESTSUITE/aux-fixed/3212.aliases"
    cached open
  search_find: file="TESTSUITE/aux-fixed/3212.aliases"
-   key="root" partial=-1 affix=NULL starflags=0
+   key="root" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/3212.aliases
    End
  internal_search_find: file="TESTSUITE/aux-fixed/3212.aliases"
-   type=lsearch key="root"
+   type=lsearch key="root" opts=NULL
  cached data used for lookup of root
    in TESTSUITE/aux-fixed/3212.aliases
  lookup yielded: userx