Re: [PATCH 3/3] DOC: Clarify the differences between field() and word()

2023-12-01 Thread Willy Tarreau
Hi Tim,

On Thu, Nov 30, 2023 at 04:41:18PM +0100, Tim Duesterhus wrote:
> word() mentions that delimiters at the start and end are ignored, but it does
> not mention that consecutive delimiters are merged.
(...)

Series just merged as well, I didn't notice it while I was typing the
announce message yesterday ;-)

Thanks,
Willy



[PATCH 3/3] DOC: Clarify the differences between field() and word()

2023-11-30 Thread Tim Duesterhus
word() mentions that delimiters at the start and end are ignored, but it does
not mention that consecutive delimiters are merged.

May be backported as far as the patch applies.
---
 doc/configuration.txt | 7 ++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/doc/configuration.txt b/doc/configuration.txt
index 324cce1325..981e4dcb62 100644
--- a/doc/configuration.txt
+++ b/doc/configuration.txt
@@ -17726,6 +17726,7 @@ field(,[,])
   fields.
 
   Example :
+  str(f1_f2_f3__f5),field(4,_)# 
   str(f1_f2_f3__f5),field(5,_)# f5
   str(f1_f2_f3__f5),field(2,_,0)  # f2_f3__f5
   str(f1_f2_f3__f5),field(2,_,2)  # f2_f3
@@ -18939,17 +18940,21 @@ word(,[,])
   Extracts the nth word counting from the beginning (positive index) or from
   the end (negative index) considering given delimiters from an input string.
   Indexes start at 1 or -1 and delimiters are a string formatted list of chars.
-  Delimiters at the beginning or end of the input string are ignored.
+  Empty words are skipped. This means that delimiters at the start or end of
+  the input string are ignored and consecutive delimiters within the input
+  string are considered to be a single delimiter.
   Optionally you can specify  of words to extract (default: 1).
   Value of 0 indicates extraction of all remaining words.
 
   Example :
   str(f1_f2_f3__f5),word(4,_)# f5
+  str(f1_f2_f3__f5),word(5,_)# 
   str(f1_f2_f3__f5),word(2,_,0)  # f2_f3__f5
   str(f1_f2_f3__f5),word(3,_,2)  # f3__f5
   str(f1_f2_f3__f5),word(-2,_,3) # f1_f2_f3
   str(f1_f2_f3__f5),word(-3,_,0) # f1_f2
   str(/f1/f2/f3/f4),word(1,/)# f1
+  str(/f1f2/f3/f4),word(1,/) # f2
 
 wt6([])
   Hashes a binary input sample into an unsigned 32-bit quantity using the WT6
-- 
2.42.0