tree 4085f99a570e8b22bf337f3222eef0002b1211ef
parent b4be12952afbdab88a657946a8dcb959bfd62eb1
author Thierry FOURNIER <tfournier@exceliance.fr> 1387200133 +0100
committer Willy Tarreau <w@1wt.eu> 1395075967 +0100
encoding latin1

MEDIUM: pattern: The match function browse itself the list or the tree.

The match function known the format of the pattern. The pattern can be
stored in a list or in a tree. The pattern matching function use itself
the good entry point and indexation type.

Each pattern matching function return the struct pattern that match. If
the flag "fill" is set, the struct pattern is filled, otherwise the
content of this struct must not be used.

With this feature, the general pattern matching function cannot have
exceptions for building the "struct pattern".
