From: Arran Cudbard-Bell Date: Fri, 31 Jul 2020 04:24:50 +0000 (-0400) Subject: sbuff: Simplify macros X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dc6c4e6522fcd239a8b8ddeb7edf745b4c0080a7;p=thirdparty%2Ffreeradius-server.git sbuff: Simplify macros --- diff --git a/src/include/build.h b/src/include/build.h index f03e3752130..fada4671389 100644 --- a/src/include/build.h +++ b/src/include/build.h @@ -65,6 +65,12 @@ extern "C" { #define STRINGIFY(x) XSTRINGIFY(x) #define JOINSTR(x,y) XSTRINGIFY(x ## y) +/* + * Helpers for initialising arrays + * of string literals. + */ +#define L(_str) { _str, sizeof(_str) - 1 } + /* * HEX concatenation macros */ diff --git a/src/lib/util/sbuff.h b/src/lib/util/sbuff.h index 10f8d65be21..f3daf2d5627 100644 --- a/src/lib/util/sbuff.h +++ b/src/lib/util/sbuff.h @@ -119,13 +119,6 @@ typedef struct { fr_sbuff_term_elem_t *elem; //!< A sorted list of terminal strings. } fr_sbuff_term_t; -/** Terminal element - * - * @param[in] _str terminal string. - */ -#define FR_SBUFF_ELEM(_str) \ - { .str = _str, .len = (sizeof(_str) - 1) } - /** Initialise a terminal structure with a single string * * @param[in] _str terminal string. @@ -133,7 +126,7 @@ typedef struct { #define FR_SBUFF_TERM(_str) \ (fr_sbuff_term_t){ \ .len = 1, \ - .elem = (fr_sbuff_term_elem_t[]){ FR_SBUFF_ELEM(_str) }, \ + .elem = (fr_sbuff_term_elem_t[]){ L(_str) }, \ } /** Initialise a terminal structure with a list of sorted strings diff --git a/src/lib/util/sbuff_tests.c b/src/lib/util/sbuff_tests.c index 9540d77f1bd..0f208728f01 100644 --- a/src/lib/util/sbuff_tests.c +++ b/src/lib/util/sbuff_tests.c @@ -671,13 +671,13 @@ static void test_unescape_multi_char_terminals(void) fr_sbuff_t sbuff; ssize_t slen; fr_sbuff_term_t tt = FR_SBUFF_TERMS( - FR_SBUFF_ELEM(","), - FR_SBUFF_ELEM("```"), - FR_SBUFF_ELEM("bad"), - FR_SBUFF_ELEM("bar"), - FR_SBUFF_ELEM("boink"), - FR_SBUFF_ELEM("food"), - FR_SBUFF_ELEM("nyi") + L(","), + L("```"), + L("bad"), + L("bar"), + L("boink"), + L("food"), + L("nyi") ); char out[100];