MINOR: ist: add a macro to ease const array initialization

It's not possible to use strlen() in const arrays even with const
strings, but we can use sizeof-1 via a macro. Let's provide this in
the IST() macro, as it saves the developer from having to count the
characters.
This commit is contained in:
Willy Tarreau 2017-09-21 15:24:10 +02:00
parent 82967bf9b3
commit 2ba672726c
1 changed files with 3 additions and 0 deletions

View File

@ -45,6 +45,9 @@ struct ist {
size_t len;
};
/* makes a constant ist from a constant string, for use in array declarations */
#define IST(str) { .ptr = str "", .len = (sizeof str "") - 1 }
/* makes an ist from a regular zero terminated string. Null has length 0.
* Constants are detected and replaced with constant initializers. Other values
* are measured by hand without strlen() as it's much cheaper and inlinable on