[exim-cvs] Fix lsearch ret=full

Top Page
Delete this message
Reply to this message
Author: Exim Git Commits Mailing List
Date:  
To: exim-cvs
Subject: [exim-cvs] Fix lsearch ret=full
Gitweb: https://git.exim.org/exim.git/commitdiff/b690a53ed619f5adfa532bf8cc9ab13c1c806b3c
Commit:     b690a53ed619f5adfa532bf8cc9ab13c1c806b3c
Parent:     1b9ab35f323121aabf029f0496c7227818efad14
Author:     Jeremy Harris <jgh146exb@???>
AuthorDate: Sun Aug 2 15:25:43 2020 +0100
Committer:  Jeremy Harris <jgh146exb@???>
CommitDate: Sun Aug 2 15:25:43 2020 +0100


    Fix lsearch ret=full
---
 src/src/lookups/lsearch.c    |  2 +-
 test/scripts/0000-Basic/0002 | 14 +++++++-------
 test/stdout/0002             | 14 +++++++-------
 3 files changed, 15 insertions(+), 15 deletions(-)


diff --git a/src/src/lookups/lsearch.c b/src/src/lookups/lsearch.c
index 4da422e..10927dd 100644
--- a/src/src/lookups/lsearch.c
+++ b/src/src/lookups/lsearch.c
@@ -154,7 +154,7 @@ for (BOOL this_is_eol, last_was_eol = TRUE;
     linekeylength = t - buffer;
     if (*s) s++;            /* Past terminating " */
     if (ret_full)
-      Ustrcpy(t, s);            /* copy the rest of line does also */
+      memmove(t, s, Ustrlen(s)+1);    /* copy the rest of line also */
     }


   /* Otherwise it is terminated by a colon or white space */
diff --git a/test/scripts/0000-Basic/0002 b/test/scripts/0000-Basic/0002
index 4d170ec..70b4e5f 100644
--- a/test/scripts/0000-Basic/0002
+++ b/test/scripts/0000-Basic/0002
@@ -563,13 +563,13 @@ q5:  ${lookup{"quoted"}   lsearch{DIR/aux-fixed/0002.quoted}}
 q6:  ${lookup{white space}lsearch{DIR/aux-fixed/0002.quoted}}
 q7:  ${lookup{b\\s}       lsearch{DIR/aux-fixed/0002.quoted}}


-q1:  ${lookup{abc}        lsearch,ret=full{DIR/aux-fixed/0002.quoted}}
-q2:  ${lookup{xyz}        lsearch,ret=full{DIR/aux-fixed/0002.quoted}}
-q3:  ${lookup{pqr}        lsearch,ret=full{DIR/aux-fixed/0002.quoted}}
-q4:  ${lookup{a:b}        lsearch,ret=full{DIR/aux-fixed/0002.quoted}}
-q5:  ${lookup{"quoted"}   lsearch,ret=full{DIR/aux-fixed/0002.quoted}}
-q6:  ${lookup{white space}lsearch,ret=full{DIR/aux-fixed/0002.quoted}}
-q7:  ${lookup{b\\s}       lsearch,ret=full{DIR/aux-fixed/0002.quoted}}
+q1f: ${lookup{abc}        lsearch,ret=full{DIR/aux-fixed/0002.quoted}}
+q2f: ${lookup{xyz}        lsearch,ret=full{DIR/aux-fixed/0002.quoted}}
+q3f: ${lookup{pqr}        lsearch,ret=full{DIR/aux-fixed/0002.quoted}}
+q4f: ${lookup{a:b}        lsearch,ret=full{DIR/aux-fixed/0002.quoted}}
+q5f: ${lookup{"quoted"}   lsearch,ret=full{DIR/aux-fixed/0002.quoted}}
+q6f: ${lookup{white space}lsearch,ret=full{DIR/aux-fixed/0002.quoted}}
+q7f: ${lookup{b\\s}       lsearch,ret=full{DIR/aux-fixed/0002.quoted}}


 abc:   ${lookup{abc}wildlsearch{DIR/aux-var/0002.wild}}
 a.b.c: ${lookup{a.b.c}wildlsearch{DIR/aux-var/0002.wild}}
diff --git a/test/stdout/0002 b/test/stdout/0002
index df659d2..02ba087 100644
--- a/test/stdout/0002
+++ b/test/stdout/0002
@@ -527,13 +527,13 @@ newline    tab\134backslash ~tilde\177DEL\200\201.

> q6: "white space"
> q7: "b\\s"
>

-> q1:  abc           "abc"
-> q2:  xyz:          "xyz":
-> q3:  pqr  :        "pqr"  :
-> q4:  a:b           "a:b" abc continued data (make sure not key)
-> q5:  "quoted"    "\"quoted\""
-> q6:  white space   "white space"
-> q7:  b\s          "b\\s"
+> q1f: abc           "abc"
+> q2f: xyz:          "xyz":
+> q3f: pqr  :        "pqr"  :
+> q4f: a:b           "a:b" abc continued data (make sure not key)
+> q5f: "quoted"    "\"quoted\""
+> q6f: white space   "white space"
+> q7f: b\s          "b\\s"

>
> abc: abc
> a.b.c: *.b.c