static void test_base16_encode(void)
{
- char buffer[17] = { '\0' };
+ char buffer[17];
fr_sbuff_t out;
size_t i;
static void test_base32_encode(void)
{
- char buffer[17] = { '\0' };
+ char buffer[17];
fr_sbuff_t out;
size_t i;
static void test_base32_hex_encode(void)
{
- char buffer[17] = { '\0' };
+ char buffer[17];
fr_sbuff_t out;
size_t i;
static void test_base64_encode(void)
{
- char buffer[17] = { '\0' };
+ char buffer[17];
fr_sbuff_t out;
size_t i;
fr_sbuff_t sbuff;
char buffer[1024];
- buffer[0] = '\0'; /* Fix GCC11 bug where it flags the buffer as uninitialised for no reason */
-
fr_sbuff_init_out(&sbuff, buffer, sizeof(buffer));
fr_pair_list_log_sbuff(log, lvl, parent, list, file, line, &sbuff);
fr_sbuff_t sbuff;
char buffer[1024];
- buffer[0] = '\0'; /* Fix GCC11 bug where it flags the buffer as uninitialised for no reason */
-
fr_sbuff_init_out(&sbuff, buffer, sizeof(buffer));
fr_pair_print(&sbuff, NULL, pair);
*sbuff->p = '\0';
}
-static inline void _fr_sbuff_init(fr_sbuff_t *out, char const *start, char const *end, bool is_const, bool nul_term)
+static inline void _fr_sbuff_init(fr_sbuff_t *out, UNUSED char unused, char const *start, char const *end, bool is_const)
{
if (unlikely(end < start)) end = start; /* Could be an assert? */
.end_i = end,
.is_const = is_const
};
-
- if (nul_term) *out->start = '\0';
}
/** Initialise an sbuff around a stack allocated buffer for printing
*/
#define fr_sbuff_init_out(_out, _start, _len_or_end) \
_fr_sbuff_init(_out, _start, \
+*(_start) = '\0' /* Prevents GCC complaining about uninitialised buffers */, \
_Generic((_len_or_end), \
size_t : (char const *)(_start) + ((size_t)(_len_or_end) - 1), \
long : (char const *)(_start) + ((size_t)(_len_or_end) - 1), \
char * : (char const *)(_len_or_end), \
char const * : (char const *)(_len_or_end) \
), \
-IS_CONST(char *, _start), true)
+IS_CONST(char *, _start))
/** Initialise an sbuff around a stack allocated buffer for parsing
*
*/
#define fr_sbuff_init_in(_out, _start, _len_or_end) \
_fr_sbuff_init(_out, _start, \
+'\0', \
_Generic((_len_or_end), \
size_t : (char const *)(_start) + (size_t)(_len_or_end), \
long : (char const *)(_start) + (size_t)(_len_or_end), \
char * : (char const *)(_len_or_end), \
char const * : (char const *)(_len_or_end) \
), \
-IS_CONST(char *, _start), false)
+IS_CONST(char *, _start))
/** Initialise a special sbuff which automatically reads in more data as the buffer is exhausted
*