tree c0312f667dd6e5b155bc4764aff0821c55bc96f7
parent 6c616e0b96106dd33d183afbda31e72799e967c3
author Willy Tarreau <w@1wt.eu> 1403706053 +0200
committer Willy Tarreau <w@1wt.eu> 1403709473 +0200
encoding latin1

MINOR: stick-table: make stktable_fetch_key() indicate why it failed

stktable_fetch_key() does not indicate whether it returns NULL because
the input sample was not found or because it's unstable. It causes trouble
with track-sc* rules. Just like with sample_fetch_string(), we want it to
be able to give more information to the caller about what it found. Thus,
now we use the pointer to a sample passed by the caller, and fill it with
the information we have about the sample. That way, even if we return NULL,
the caller has the ability to check whether a sample was found and if it is
still changing or not.
