From 2ba672726c05f55dc70d3e887444c64a8decca64 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Thu, 21 Sep 2017 15:24:10 +0200 Subject: [PATCH] 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. --- include/common/ist.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/common/ist.h b/include/common/ist.h index c9260022b..c57aa8977 100644 --- a/include/common/ist.h +++ b/include/common/ist.h @@ -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