MINOR: stick-table: allow to allocate an entry without filling it
By passing a NULL key to stksess_new(), we allocate it but do not yet
fill it. That way the caller can do that.
diff --git a/src/stick_table.c b/src/stick_table.c
index 52a5866..3097e66 100644
--- a/src/stick_table.c
+++ b/src/stick_table.c
@@ -152,7 +152,8 @@
* Allocate and initialise a new sticky session.
* The new sticky session is returned or NULL in case of lack of memory.
* Sticky sessions should only be allocated this way, and must be freed using
- * stksess_free(). Increase table <t> sticky session counter.
+ * stksess_free(). Table <t>'s sticky session counter is increased. If <key>
+ * is not NULL, it is assigned to the new session.
*/
struct stksess *stksess_new(struct stktable *t, struct stktable_key *key)
{
@@ -170,7 +171,8 @@
if (ts) {
t->current++;
stksess_init(t, ts);
- stksess_setkey(t, ts, key);
+ if (key)
+ stksess_setkey(t, ts, key);
}
return ts;