Move errno-protection into string_open_failed()
[users/heiko/exim.git] / src / src / lookups / lsearch.c
index 50c25e31e86f113bc6fac15bf138d08a1fd1a5e0..9df7a167f11bb9c130231caa1ae249259f80888c 100644 (file)
@@ -3,6 +3,7 @@
 *************************************************/
 
 /* Copyright (c) University of Cambridge 1995 - 2018 */
+/* Copyright (c) The Exim Maintainers 2020 */
 /* See the file NOTICE for conditions of use and distribution. */
 
 #include "../exim.h"
@@ -28,14 +29,9 @@ enum {
 static void *
 lsearch_open(const uschar * filename, uschar ** errmsg)
 {
-FILE *f = Ufopen(filename, "rb");
-if (f == NULL)
-  {
-  int save_errno = errno;
-  *errmsg = string_open_failed(errno, "%s for linear search", filename);
-  errno = save_errno;
-  return NULL;
-  }
+FILE * f = Ufopen(filename, "rb");
+if (!f)
+  *errmsg = string_open_failed("%s for linear search", filename);
 return f;
 }
 
@@ -94,9 +90,6 @@ if(type == LSEARCH_WILD || type == LSEARCH_NWILD)
   reset_point = store_mark();
   }
 
-filename = filename;  /* Keep picky compilers happy */
-errmsg = errmsg;
-
 rewind(f);
 for (last_was_eol = TRUE;
      Ufgets(buffer, sizeof(buffer), f) != NULL;
@@ -323,7 +316,6 @@ lsearch_find(void * handle, const uschar * filename, const uschar * keystring,
   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,
   errmsg, LSEARCH_PLAIN);
 }
@@ -341,7 +333,6 @@ wildlsearch_find(void * handle, const uschar * filename, const uschar * keystrin
   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,
   errmsg, LSEARCH_WILD);
 }
@@ -359,7 +350,6 @@ nwildlsearch_find(void * handle, const uschar * filename, const uschar * keystri
   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,
   errmsg, LSEARCH_NWILD);
 }
@@ -378,8 +368,6 @@ iplsearch_find(void * handle, uschar const * filename, const uschar * keystring,
   int length, uschar ** result, uschar ** errmsg, uint * do_cache,
   const uschar * opts)
 {
-do_cache = do_cache;  /* Keep picky compilers happy */
-
 if ((length == 1 && keystring[0] == '*') ||
     string_is_ip_address(keystring, NULL) != 0)
   return internal_lsearch_find(handle, filename, keystring, length, result,