Gitweb:
https://git.exim.org/exim.git/commitdiff/0b2719ad1b302f9bfb25d6c29b6541e7d8a392ef
Commit: 0b2719ad1b302f9bfb25d6c29b6541e7d8a392ef
Parent: 53618a4022d2e80ac72ee0b37b8a23eb2626e319
Author: Jeremy Harris <jgh146exb@???>
AuthorDate: Sat Oct 19 19:55:39 2019 +0100
Committer: Jeremy Harris <jgh146exb@???>
CommitDate: Sat Oct 19 23:06:14 2019 +0100
Fix HAVE_LOCAL_SCAN build. Bug 2457
Broken-by: f3ebb786e4
(cherry picked from commits d48326c00b, 1352e600b8)
---
src/src/local_scan.h | 4 +++-
src/src/string.c | 4 ++--
test/runtest | 4 ++++
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/src/local_scan.h b/src/src/local_scan.h
index 235812a..fb87859 100644
--- a/src/src/local_scan.h
+++ b/src/src/local_scan.h
@@ -199,10 +199,12 @@ we can use an inlined implementation in the compiles of the main Exim files,
with the original name. */
# define string_copy(s) string_copy_function(s)
-# define string_copyn(s, n) string_copyn_function(s, n)
+# define string_copyn(s, n) string_copyn_function((s), (n))
+# define string_copy_taint(s, t) string_copy_taint_function((s), (t))
extern uschar * string_copy_function(const uschar *);
extern uschar * string_copyn_function(const uschar *);
+extern uschar * string_copy_taint_function(const uschar *);
#endif
/* End of local_scan.h */
diff --git a/src/src/string.c b/src/src/string.c
index a954396..ced1ad8 100644
--- a/src/src/string.c
+++ b/src/src/string.c
@@ -411,7 +411,7 @@ return ss;
-#ifdef HAVE_LOCAL_SCAN
+#if defined(HAVE_LOCAL_SCAN) && !defined(MACRO_PREDEF) && !defined(COMPILE_UTILITY)
/*************************************************
* Copy and save string *
*************************************************/
@@ -432,7 +432,7 @@ As above, but explicitly specifying the result taint status
*/
uschar *
-string_copy_taint(const uschar * s, BOOL tainted)
+string_copy_taint_function(const uschar * s, BOOL tainted)
{
int len = Ustrlen(s) + 1;
uschar *ss = store_get(len, tainted);
diff --git a/test/runtest b/test/runtest
index 49ff845..c78cabf 100755
--- a/test/runtest
+++ b/test/runtest
@@ -1280,6 +1280,10 @@ RESET_AFTER_EXTRA_LINE_READ:
# TLS resumption is not always supported by the build
next if /in tls_resumption_hosts\?/;
+ # Most builds are without HAVE_LOCAL_SCAN
+ next if /^calling local_scan(); timeout=300$/;
+ next if /^local_scan() returned 0 NULL$/;
+
# Platform differences in errno strings
s/ SMTP\(Operation timed out\)<</ SMTP(Connection timed out)<</;