Testsuite: bounce_message_file and warn_message_file
[exim.git] / src / src / match.c
index 2ad28a95c1aa3ea1724f503d4f25da72c56c9dd4..e07d0bd59fa5ace12f58e721195dee5b48f55dc2 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. */
 
 /* Functions for matching strings */
@@ -276,14 +277,14 @@ if (!cb->use_partial) partial = -1;
 /* Set the parameters for the three different kinds of lookup. */
 
 keyquery = semicolon + 1;
-while (isspace(*keyquery)) keyquery++;
+Uskip_whitespace(&keyquery);
 
 if (mac_islookup(search_type, lookup_absfilequery))
   {
   filename = keyquery;
-  while (*keyquery != 0 && !isspace(*keyquery)) keyquery++;
+  while (*keyquery && !isspace(*keyquery)) keyquery++;
   filename = string_copyn(filename, keyquery - filename);
-  while (isspace(*keyquery)) keyquery++;
+  Uskip_whitespace(&keyquery);
   }
 
 else if (!mac_islookup(search_type, lookup_querystyle))
@@ -301,7 +302,7 @@ if (!(handle = search_open(filename, search_type, 0, NULL, NULL)))
 result = search_find(handle, filename, keyquery, partial, affix, affixlen,
   starflags, &expand_setup, opts);
 
-if (!result) return f.search_find_defer? DEFER : FAIL;
+if (!result) return f.search_find_defer ? DEFER : FAIL;
 if (valueptr) *valueptr = result;
 
 expand_nmax = expand_setup;
@@ -446,7 +447,6 @@ BOOL ignore_defer = FALSE;
 const uschar *list;
 uschar *sss;
 uschar *ot = NULL;
-uschar buffer[1024];
 
 /* Save time by not scanning for the option name when we don't need it. */
 
@@ -506,12 +506,12 @@ else
 
 /* For an unnamed list, use the expanded version in comments */
 
-HDEBUG(D_any) if (ot == NULL) ot = string_sprintf("%s in \"%s\"?", name, list);
+HDEBUG(D_any) if (!ot) ot = string_sprintf("%s in \"%s\"?", name, list);
 
 /* Now scan the list and process each item in turn, until one of them matches,
 or we hit an error. */
 
-while ((sss = string_nextinlist(&list, &sep, buffer, sizeof(buffer))))
+while ((sss = string_nextinlist(&list, &sep, NULL, 0)))
   {
   uschar * ss = sss;