]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
sbuff: Simplify macros
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Fri, 31 Jul 2020 04:24:50 +0000 (00:24 -0400)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Fri, 31 Jul 2020 04:25:02 +0000 (00:25 -0400)
src/include/build.h
src/lib/util/sbuff.h
src/lib/util/sbuff_tests.c

index f03e37521304a16075a7aae203bba173d33d0173..fada4671389705dbda4bd975be6038771c5fe872 100644 (file)
@@ -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
  */
index 10f8d65be2136106f65469cb80decde467586c37..f3daf2d5627ba6c1bc11ccb616b2d2157462dfa4 100644 (file)
@@ -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
index 9540d77f1bdf16c0ef749a5b6d93c19a72a02ffc..0f208728f01a8bc738f53e04588011c37e3f635a 100644 (file)
@@ -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];