From: Arran Cudbard-Bell Date: Sun, 4 Sep 2022 20:56:24 +0000 (-0400) Subject: Use the FR_SBUFF_SET_RETURN macro X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d6708eefbc3c28f5f3e8ca9ff075b0875ed1eb02;p=thirdparty%2Ffreeradius-server.git Use the FR_SBUFF_SET_RETURN macro --- diff --git a/src/lib/json/json.c b/src/lib/json/json.c index 575804e26db..42ee5f3af10 100644 --- a/src/lib/json/json.c +++ b/src/lib/json/json.c @@ -463,7 +463,7 @@ static inline ssize_t attr_name_with_prefix(fr_sbuff_t *out, fr_dict_attr_t cons FR_DICT_ATTR_OID_PRINT_RETURN(&our_out, NULL, da, false); - return fr_sbuff_set(out, &our_out); + FR_SBUFF_SET_RETURN(out, &our_out); } diff --git a/src/lib/server/cf_util.c b/src/lib/server/cf_util.c index 5084280bbc3..1ca457e06b2 100644 --- a/src/lib/server/cf_util.c +++ b/src/lib/server/cf_util.c @@ -1424,7 +1424,7 @@ fr_slen_t cf_pair_values_concat(fr_sbuff_t *out, CONF_SECTION const *cs, char co } } - return fr_sbuff_set(out, &our_out); + FR_SBUFF_SET_RETURN(out, &our_out); } /** Return the attr of a #CONF_PAIR diff --git a/src/lib/server/cond_tokenize.c b/src/lib/server/cond_tokenize.c index 4f5ddadbece..50d55e9b83a 100644 --- a/src/lib/server/cond_tokenize.c +++ b/src/lib/server/cond_tokenize.c @@ -131,7 +131,7 @@ ssize_t cond_print(fr_sbuff_t *out, fr_cond_t const *in) } fr_sbuff_terminate(&our_out); - return fr_sbuff_set(out, &our_out); + FR_SBUFF_SET_RETURN(out, &our_out); } @@ -1054,7 +1054,7 @@ static fr_slen_t cond_tokenize_operand(fr_cond_t *c, tmpl_t **out, fr_sbuff_marker(opd_start, in); fr_sbuff_set(opd_start, &m); - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); } /** Tokenize a conditional check @@ -1429,7 +1429,7 @@ done: *out = c; - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); } /* @@ -1496,7 +1496,7 @@ ssize_t fr_cond_tokenize(CONF_SECTION *cs, fr_cond_t **head, tmpl_rules_t const cond_reparent(*head, NULL); } - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); } /** Initialise a cond iterator diff --git a/src/lib/server/map.c b/src/lib/server/map.c index 1b8b1ac16ac..87281c326bb 100644 --- a/src/lib/server/map.c +++ b/src/lib/server/map.c @@ -680,7 +680,7 @@ check_for_child: MAP_VERIFY(map); *out = map; - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); } static int _map_afrom_cs(TALLOC_CTX *ctx, map_list_t *out, map_t *parent, CONF_SECTION *cs, @@ -2210,7 +2210,7 @@ ssize_t map_print(fr_sbuff_t *out, map_t const *map) */ if ((map->op == T_OP_CMP_TRUE) || (map->op == T_OP_CMP_FALSE)) { FR_SBUFF_IN_STRCPY_RETURN(&our_out, "ANY"); - return fr_sbuff_set(out, &our_out); + FR_SBUFF_SET_RETURN(out, &our_out); } /* @@ -2232,7 +2232,7 @@ ssize_t map_print(fr_sbuff_t *out, map_t const *map) */ FR_SBUFF_RETURN(tmpl_print_quoted, &our_out, map->rhs, TMPL_ATTR_REF_PREFIX_YES); - return fr_sbuff_set(out, &our_out); + FR_SBUFF_SET_RETURN(out, &our_out); } /* diff --git a/src/lib/server/tmpl_tokenize.c b/src/lib/server/tmpl_tokenize.c index b2e8710834e..4b2e56a1867 100644 --- a/src/lib/server/tmpl_tokenize.c +++ b/src/lib/server/tmpl_tokenize.c @@ -679,7 +679,7 @@ static fr_slen_t tmpl_request_ref_list_from_substr(TALLOC_CTX *ctx, tmpl_attr_er goto error; /* Leave marker at the end */ } - return fr_sbuff_set(in, &m); + FR_SBUFF_SET_RETURN(in, &m); } @@ -1389,7 +1389,7 @@ static fr_slen_t tmpl_attr_parse_filter(tmpl_attr_error_t *err, tmpl_attr_t *ar, */ if (!fr_sbuff_next_if_char(&our_name, ']')) goto missing_closing; - return fr_sbuff_set(name, &our_name); + FR_SBUFF_SET_RETURN(name, &our_name); } /** Parse an unresolved attribute, i.e. one which can't be found in the current dictionary @@ -2250,7 +2250,7 @@ ssize_t tmpl_afrom_attr_substr(TALLOC_CTX *ctx, tmpl_attr_error_t *err, TMPL_VERIFY(vpt); /* Because we want to ensure we produced something sane */ *out = vpt; - return fr_sbuff_set(name, &our_name); + FR_SBUFF_SET_RETURN(name, &our_name); } /** Parse a string into a TMPL_TYPE_ATTR_* or #TMPL_TYPE_LIST type #tmpl_t @@ -2338,7 +2338,7 @@ static fr_slen_t tmpl_afrom_value_substr(TALLOC_CTX *ctx, tmpl_t **out, fr_sbuff TMPL_VERIFY(vpt); - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); } /** Parse a truth value @@ -2375,7 +2375,7 @@ static fr_slen_t tmpl_afrom_bool_substr(TALLOC_CTX *ctx, tmpl_t **out, fr_sbuff_ *out = vpt; - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); } /** Parse bareword as an octet string @@ -2435,7 +2435,7 @@ static fr_slen_t tmpl_afrom_octets_substr(TALLOC_CTX *ctx, tmpl_t **out, fr_sbuf *out = vpt; - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); } /** Parse bareword as an IPv4 address or prefix @@ -2503,7 +2503,7 @@ static fr_slen_t tmpl_afrom_ipv4_substr(TALLOC_CTX *ctx, tmpl_t **out, fr_sbuff_ } *out = vpt; - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); } /** Parse bareword as an IPv6 address or prefix @@ -2620,7 +2620,7 @@ static fr_slen_t tmpl_afrom_ipv6_substr(TALLOC_CTX *ctx, tmpl_t **out, fr_sbuff_ } *out = vpt; - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); } @@ -2689,7 +2689,7 @@ static ssize_t tmpl_afrom_ether_substr(TALLOC_CTX *ctx, tmpl_t **out, fr_sbuff_t *out = vpt; - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); } /** Try and parse signed or unsigned integers @@ -2775,7 +2775,7 @@ static fr_slen_t tmpl_afrom_integer_substr(TALLOC_CTX *ctx, tmpl_t **out, fr_sbu *out = vpt; - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); } static ssize_t tmpl_afrom_float_substr(TALLOC_CTX *ctx, tmpl_t **out, fr_sbuff_t *in, @@ -2803,7 +2803,7 @@ static ssize_t tmpl_afrom_float_substr(TALLOC_CTX *ctx, tmpl_t **out, fr_sbuff_t *out = vpt; - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); } static ssize_t tmpl_afrom_time_delta(TALLOC_CTX *ctx, tmpl_t **out, fr_sbuff_t *in, @@ -2826,7 +2826,7 @@ static ssize_t tmpl_afrom_time_delta(TALLOC_CTX *ctx, tmpl_t **out, fr_sbuff_t * *out = vpt; - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); } /** Convert an arbitrary string into a #tmpl_t @@ -2910,7 +2910,7 @@ fr_slen_t tmpl_afrom_substr(TALLOC_CTX *ctx, tmpl_t **out, TMPL_VERIFY(vpt); - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); } /* @@ -2927,7 +2927,7 @@ fr_slen_t tmpl_afrom_substr(TALLOC_CTX *ctx, tmpl_t **out, done_bareword: TMPL_VERIFY(*out); - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); } fr_assert(!*out); @@ -3059,7 +3059,7 @@ fr_slen_t tmpl_afrom_substr(TALLOC_CTX *ctx, tmpl_t **out, } *out = vpt; - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); case T_SINGLE_QUOTED_STRING: /* @@ -3220,7 +3220,7 @@ fr_slen_t tmpl_afrom_substr(TALLOC_CTX *ctx, tmpl_t **out, TMPL_VERIFY(vpt); *out = vpt; - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); } /** Copy a tmpl @@ -3345,7 +3345,7 @@ ssize_t tmpl_cast_from_substr(tmpl_rules_t *rules, fr_sbuff_t *in) if (rules) rules->cast = cast; - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); } /** Set a cast for a tmpl @@ -4265,7 +4265,7 @@ fr_slen_t tmpl_request_ref_list_print(fr_sbuff_t *out, FR_DLIST_HEAD(tmpl_reques if (rr) FR_SBUFF_IN_CHAR_RETURN(&our_out, '.'); } - return fr_sbuff_set(out, &our_out); + FR_SBUFF_SET_RETURN(out, &our_out); } /** Print an attribute or list #tmpl_t to a string @@ -4476,7 +4476,7 @@ fr_slen_t tmpl_attr_print(fr_sbuff_t *out, tmpl_t const *vpt, tmpl_attr_prefix_t if (tmpl_attr_list_next(&vpt->data.attribute.ar, ar)) FR_SBUFF_IN_CHAR_RETURN(&our_out, '.'); } - return fr_sbuff_set(out, &our_out); + FR_SBUFF_SET_RETURN(out, &our_out); } /** Print a #tmpl_t to a string @@ -4559,7 +4559,7 @@ fr_slen_t tmpl_print(fr_sbuff_t *out, tmpl_t const *vpt, break; } - return fr_sbuff_set(out, &our_out); + FR_SBUFF_SET_RETURN(out, &our_out); } /** Print a #tmpl_t to a string with quotes @@ -4599,7 +4599,7 @@ fr_slen_t tmpl_print_quoted(fr_sbuff_t *out, tmpl_t const *vpt, tmpl_attr_prefix */ if (vpt->type & TMPL_FLAG_REGEX) FR_SBUFF_RETURN(regex_flags_print, &our_out, tmpl_regex_flags(vpt)); - return fr_sbuff_set(out, &our_out); + FR_SBUFF_SET_RETURN(out, &our_out); } /** @} */ diff --git a/src/lib/unlang/xlat_expr.c b/src/lib/unlang/xlat_expr.c index 1d15dc60211..81ccc8e2a1f 100644 --- a/src/lib/unlang/xlat_expr.c +++ b/src/lib/unlang/xlat_expr.c @@ -1965,7 +1965,7 @@ static fr_slen_t tokenize_unary(xlat_exp_head_t *head, xlat_exp_t **out, fr_sbuf *out = unary; - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); } /** Allocate a specific cast node. @@ -2043,7 +2043,7 @@ static fr_slen_t expr_cast_from_substr(fr_type_t *cast, fr_sbuff_t *in) } fr_sbuff_adv_past_whitespace(&our_in, SIZE_MAX, NULL); - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); } /* @@ -2143,7 +2143,7 @@ static fr_slen_t tokenize_regex_rhs(xlat_exp_head_t *head, xlat_exp_t **out, fr_ *out = node; - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); } @@ -2380,7 +2380,7 @@ static fr_slen_t tokenize_field(xlat_exp_head_t *head, xlat_exp_t **out, fr_sbuf done: *out = node; - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); } /* @@ -2486,7 +2486,7 @@ static fr_slen_t tokenize_expression(xlat_exp_head_t *head, xlat_exp_t **out, fr if (slen == 0) { fr_assert(lhs == NULL); *out = NULL; - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); } redo: @@ -2506,7 +2506,7 @@ redo: if (fr_sbuff_extend(&our_in) == 0) { done: *out = lhs; - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); } /* diff --git a/src/lib/unlang/xlat_tokenize.c b/src/lib/unlang/xlat_tokenize.c index fc83391da37..d4b67e7a4b0 100644 --- a/src/lib/unlang/xlat_tokenize.c +++ b/src/lib/unlang/xlat_tokenize.c @@ -1467,7 +1467,7 @@ fr_slen_t xlat_tokenize_ephemeral(TALLOC_CTX *ctx, xlat_exp_head_t **out, *out = head; - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); } /** Tokenize an xlat expansion into a series of XLAT_TYPE_CHILD arguments @@ -1636,7 +1636,7 @@ fr_slen_t xlat_tokenize_argv(TALLOC_CTX *ctx, xlat_exp_head_t **out, fr_sbuff_t *out = head; - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); } /** Tokenize an xlat expansion @@ -1681,7 +1681,7 @@ fr_slen_t xlat_tokenize(TALLOC_CTX *ctx, xlat_exp_head_t **out, fr_sbuff_t *in, *out = head; - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); } /** Check to see if the expansion consists entirely of value-box elements diff --git a/src/lib/util/base16.c b/src/lib/util/base16.c index e3131e52328..19d8060cc00 100644 --- a/src/lib/util/base16.c +++ b/src/lib/util/base16.c @@ -126,7 +126,7 @@ fr_slen_t fr_base16_encode_nstd(fr_sbuff_t *out, fr_dbuff_t *in, char const alph fr_sbuff_terminate(&our_out); /* Ensure this is terminated, even on zero length input */ fr_dbuff_set(in, &our_in); - return fr_sbuff_set(out, &our_out); + FR_SBUFF_SET_RETURN(out, &our_out); } /** Decode base16 encoded input diff --git a/src/lib/util/base32.c b/src/lib/util/base32.c index 078f3f62a11..480c5928eb2 100644 --- a/src/lib/util/base32.c +++ b/src/lib/util/base32.c @@ -294,7 +294,7 @@ ssize_t fr_base32_encode_nstd(fr_sbuff_t *out, fr_dbuff_t *in, fr_sbuff_terminate(&our_out); /* Ensure this is terminated, even on zero length input */ fr_dbuff_set(in, &our_in); - return fr_sbuff_set(out, &our_out); + FR_SBUFF_SET_RETURN(out, &our_out); } /* Decode base32 encoded input diff --git a/src/lib/util/base64.c b/src/lib/util/base64.c index c1036c15a08..b40713d51eb 100644 --- a/src/lib/util/base64.c +++ b/src/lib/util/base64.c @@ -380,7 +380,7 @@ ssize_t fr_base64_encode_nstd(fr_sbuff_t *out, fr_dbuff_t *in, fr_sbuff_terminate(&our_out); /* Ensure this is terminated, even on zero length input */ fr_dbuff_set(in, &our_in); - return fr_sbuff_set(out, &our_out); + FR_SBUFF_SET_RETURN(out, &our_out); } /* Decode base64 encoded input array. diff --git a/src/lib/util/dict_print.c b/src/lib/util/dict_print.c index 23312e1882e..3ce87178765 100644 --- a/src/lib/util/dict_print.c +++ b/src/lib/util/dict_print.c @@ -97,7 +97,7 @@ ssize_t fr_dict_attr_flags_print(fr_sbuff_t *out, fr_dict_t const *dict, fr_type fr_sbuff_trim(&our_out, (bool[UINT8_MAX + 1]){ [','] = true }); - return fr_sbuff_set(out, &our_out); + FR_SBUFF_SET_RETURN(out, &our_out); } /** Build the da_stack for the specified DA and encode the path by name in OID form @@ -152,7 +152,7 @@ ssize_t fr_dict_attr_oid_print(fr_sbuff_t *out, FR_SBUFF_IN_STRCPY_RETURN(&our_out, da_stack.da[i]->name); } } - return fr_sbuff_set(out, &our_out); + FR_SBUFF_SET_RETURN(out, &our_out); } typedef struct { diff --git a/src/lib/util/dict_unknown.c b/src/lib/util/dict_unknown.c index 9ae9a0b1143..be056621867 100644 --- a/src/lib/util/dict_unknown.c +++ b/src/lib/util/dict_unknown.c @@ -455,7 +455,7 @@ fr_slen_t fr_dict_unknown_afrom_oid_substr(TALLOC_CTX *ctx, if (err) *err = FR_DICT_ATTR_OK; } - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); /* * This is what we want... Everything @@ -604,7 +604,7 @@ fr_slen_t fr_dict_unknown_afrom_oid_substr(TALLOC_CTX *ctx, *out = n; - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); } /** Fixup the parent of an unknown attribute using an equivalent known attribute diff --git a/src/lib/util/dict_util.c b/src/lib/util/dict_util.c index 09bc464e731..908fb3dc774 100644 --- a/src/lib/util/dict_util.c +++ b/src/lib/util/dict_util.c @@ -1888,7 +1888,7 @@ fr_slen_t fr_dict_oid_component(fr_dict_attr_err_t *err, *out = child; - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); } /** Resolve an attribute using an OID string @@ -1941,7 +1941,7 @@ fr_slen_t fr_dict_attr_by_oid_substr(fr_dict_attr_err_t *err, if (!fr_sbuff_next_if_char(&our_in, '.')) break; } - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); } /** Resolve an attribute using an OID string @@ -2051,7 +2051,7 @@ fr_slen_t dict_by_protocol_substr(fr_dict_attr_err_t *err, *out = dict; - return fr_sbuff_set(name, &our_name); + FR_SBUFF_SET_RETURN(name, &our_name); } /** Look up a protocol name embedded in another string @@ -2339,7 +2339,7 @@ fr_slen_t dict_attr_search(fr_dict_attr_err_t *err, fr_dict_attr_t const **out, (void)func(&our_err, out, fr_dict_root(dict_def), &our_in, tt); switch (our_err) { case FR_DICT_ATTR_OK: - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); case FR_DICT_ATTR_NOTFOUND: if (!internal && !foreign) goto error; @@ -2357,7 +2357,7 @@ fr_slen_t dict_attr_search(fr_dict_attr_err_t *err, fr_dict_attr_t const **out, (void)func(&our_err, out, fr_dict_root(dict_gctx->internal), &our_in, tt); switch (our_err) { case FR_DICT_ATTR_OK: - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); case FR_DICT_ATTR_NOTFOUND: if (!foreign) goto error; @@ -2380,7 +2380,7 @@ fr_slen_t dict_attr_search(fr_dict_attr_err_t *err, fr_dict_attr_t const **out, (void)func(&our_err, out, fr_dict_root(dict), &our_in, tt); switch (our_err) { case FR_DICT_ATTR_OK: - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); case FR_DICT_ATTR_NOTFOUND: continue; @@ -2498,7 +2498,7 @@ fr_slen_t dict_attr_search_qualified(fr_dict_attr_err_t *err, fr_dict_attr_t con if (dict_attr_search(&our_err, out, initial, &our_in, tt, internal, foreign, func) < 0) goto error; if (err) *err = FR_DICT_ATTR_OK; - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); } /** Locate a qualified #fr_dict_attr_t by its name and a dictionary qualifier @@ -2731,7 +2731,7 @@ fr_slen_t fr_dict_attr_by_name_substr(fr_dict_attr_err_t *err, fr_dict_attr_t co *out = da; if (err) *err = FR_DICT_ATTR_OK; - return fr_sbuff_set(name, &our_name); + FR_SBUFF_SET_RETURN(name, &our_name); } /* Internal version of fr_dict_attr_by_name @@ -2974,7 +2974,7 @@ fr_slen_t fr_dict_enum_by_name_substr(fr_dict_enum_value_t **out, fr_dict_attr_t if (found) { *out = found; - return fr_sbuff_set(in, found_len); + FR_SBUFF_SET_RETURN(in, found_len); } return 0; @@ -3062,7 +3062,7 @@ fr_slen_t fr_dict_enum_name_from_substr(fr_sbuff_t *out, fr_sbuff_parse_error_t if (err) *err = FR_SBUFF_PARSE_OK; - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); } int dict_dlopen(fr_dict_t *dict, char const *name) diff --git a/src/lib/util/pair_print.c b/src/lib/util/pair_print.c index 8e1f175c5e7..2150ed11b5f 100644 --- a/src/lib/util/pair_print.c +++ b/src/lib/util/pair_print.c @@ -62,7 +62,7 @@ ssize_t fr_pair_print_value_quoted(fr_sbuff_t *out, fr_pair_t const *vp, fr_toke } FR_SBUFF_IN_CHAR_RETURN(&our_out, ' ', '}'); - return fr_sbuff_set(out, &our_out); + FR_SBUFF_SET_RETURN(out, &our_out); /* * For simple types just print the box @@ -111,7 +111,7 @@ ssize_t fr_pair_print(fr_sbuff_t *out, fr_pair_t const *parent, fr_pair_t const FR_SBUFF_IN_CHAR_RETURN(&our_out, ' '); FR_SBUFF_RETURN(fr_pair_print_value_quoted, &our_out, vp, T_DOUBLE_QUOTED_STRING); - return fr_sbuff_set(out, &our_out); + FR_SBUFF_SET_RETURN(out, &our_out); } /** Print one attribute and value to FP diff --git a/src/lib/util/regex.c b/src/lib/util/regex.c index 9d39c64db36..6afe60b07eb 100644 --- a/src/lib/util/regex.c +++ b/src/lib/util/regex.c @@ -1298,7 +1298,7 @@ fr_slen_t regex_flags_parse(int *err, fr_regex_flags_t *out, fr_sbuff_t *in, #undef DO_REGEX_FLAG default: - if (fr_sbuff_is_terminal(&our_in, terminals)) return fr_sbuff_set(in, &our_in); + if (fr_sbuff_is_terminal(&our_in, terminals)) FR_SBUFF_SET_RETURN(in, &our_in); fr_strerror_printf("Unsupported regex flag '%c'", *our_in.p); if (err) *err = -1; @@ -1306,7 +1306,7 @@ fr_slen_t regex_flags_parse(int *err, fr_regex_flags_t *out, fr_sbuff_t *in, } fr_sbuff_advance(&our_in, 1); } - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); } /** Print the flags @@ -1332,6 +1332,6 @@ ssize_t regex_flags_print(fr_sbuff_t *sbuff, fr_regex_flags_t const *flags) DO_REGEX_FLAG(extended, 'x'); #undef DO_REGEX_FLAG - return fr_sbuff_set(sbuff, &our_sbuff); + FR_SBUFF_SET_RETURN(sbuff, &our_sbuff); } #endif diff --git a/src/lib/util/sbuff.c b/src/lib/util/sbuff.c index 690280e38f7..c7f26940dbf 100644 --- a/src/lib/util/sbuff.c +++ b/src/lib/util/sbuff.c @@ -744,7 +744,7 @@ ssize_t fr_sbuff_out_bstrncpy_exact(fr_sbuff_t *out, fr_sbuff_t *in, size_t len) fr_sbuff_advance(&our_in, copied); } while (fr_sbuff_used_total(&our_in) < len); - return fr_sbuff_set(in, &our_in); /* in was pinned, so this works */ + FR_SBUFF_SET_RETURN(in, &our_in); /* in was pinned, so this works */ } /** Copy as many allowed characters as possible from a sbuff to a sbuff @@ -1075,28 +1075,28 @@ fr_slen_t fr_sbuff_out_bool(bool *out, fr_sbuff_t *in) case 't': if (fr_sbuff_adv_past_strcase_literal(&our_in, "true")) { *out = true; - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); } break; case 'f': if (fr_sbuff_adv_past_strcase_literal(&our_in, "false")) { *out = false; - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); } break; case 'y': if (fr_sbuff_adv_past_strcase_literal(&our_in, "yes")) { *out = true; - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); } break; case 'n': if (fr_sbuff_adv_past_strcase_literal(&our_in, "no")) { *out = false; - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); } break; } @@ -1615,7 +1615,7 @@ ssize_t fr_sbuff_in_escape(fr_sbuff_t *sbuff, char const *in, size_t inlen, fr_s FR_SBUFF_IN_CHAR_RETURN(&our_sbuff, *p++); } - return fr_sbuff_set(sbuff, &our_sbuff); + FR_SBUFF_SET_RETURN(sbuff, &our_sbuff); } /** Print an escaped string to an sbuff taking a talloced buffer as input diff --git a/src/lib/util/sbuff.h b/src/lib/util/sbuff.h index 199dbbcc44a..41c6e96c815 100644 --- a/src/lib/util/sbuff.h +++ b/src/lib/util/sbuff.h @@ -1130,6 +1130,14 @@ _Generic((_src), \ size_t : (fr_sbuff_start(_dst) + (uintptr_t)(_src)) \ )) +/** Set an sbuff to a given position, and return how much it was advanced + * + * @param[in] _dst to modify. + * @param[in] _src position to set it too. + * @return The number of bytes _dst was advanced. + */ +#define FR_SBUFF_SET_RETURN(_dst, _src) return fr_sbuff_set(_dst, _src) + /** Advance position in sbuff by N bytes * * @param[in] _sbuff_or_marker to advance. diff --git a/src/lib/util/size.c b/src/lib/util/size.c index 647c8f99310..4a1b2f856fd 100644 --- a/src/lib/util/size.c +++ b/src/lib/util/size.c @@ -134,7 +134,7 @@ fr_slen_t fr_size_from_str(size_t *out, fr_sbuff_t *in) done: *out = (size_t)size; - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); } typedef struct { diff --git a/src/lib/util/talloc.c b/src/lib/util/talloc.c index 4b6070cb720..8466fc3e69d 100644 --- a/src/lib/util/talloc.c +++ b/src/lib/util/talloc.c @@ -798,7 +798,7 @@ fr_slen_t talloc_array_concat(fr_sbuff_t *out, char const * const *array, char c } } - return fr_sbuff_set(out, &our_out); + FR_SBUFF_SET_RETURN(out, &our_out); } /** Callback to free the autofree ctx on global exit diff --git a/src/lib/util/time.c b/src/lib/util/time.c index 9dcf3ba49df..e8d765ad459 100644 --- a/src/lib/util/time.c +++ b/src/lib/util/time.c @@ -395,7 +395,7 @@ fr_slen_t fr_time_delta_from_substr(fr_time_delta_t *out, fr_sbuff_t *in, fr_tim *out = fr_time_delta_wrap(tmp); } - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); /* * It's timestamp format * @@ -457,7 +457,7 @@ fr_slen_t fr_time_delta_from_substr(fr_time_delta_t *out, fr_sbuff_t *in, fr_tim if (negative) integer = -(integer); *out = fr_time_delta_from_sec(integer); - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); /* * Nothing fancy here it's just a time delta as an integer * @@ -473,7 +473,7 @@ fr_slen_t fr_time_delta_from_substr(fr_time_delta_t *out, fr_sbuff_t *in, fr_tim *out = fr_time_delta_from_integer(&overflow, integer, res); if (overflow) goto overflow; - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); } } @@ -559,7 +559,7 @@ fr_slen_t fr_time_delta_to_str(fr_sbuff_t *out, fr_time_delta_t delta, fr_time_r q++; /* to account for q-- above */ } - return fr_sbuff_set(out, q); + FR_SBUFF_SET_RETURN(out, q); } DIAG_OFF(format-nonliteral) @@ -1211,7 +1211,7 @@ fr_slen_t fr_unix_time_to_str(fr_sbuff_t *out, fr_unix_time_t time, fr_time_res_ if (res == FR_TIME_RES_SEC) { len = strftime(buf, sizeof(buf), "%b %e %Y %H:%M:%S UTC", &s_tm); FR_SBUFF_IN_BSTRNCPY_RETURN(&our_out, buf, len); - return fr_sbuff_set(out, &our_out); + FR_SBUFF_SET_RETURN(out, &our_out); } len = strftime(buf, sizeof(buf), "%Y-%m-%dT%H:%M:%S", &s_tm); @@ -1266,5 +1266,5 @@ fr_slen_t fr_unix_time_to_str(fr_sbuff_t *out, fr_unix_time_t time, fr_time_res_ FR_SBUFF_IN_CHAR_RETURN(&our_out, 'Z'); } - return fr_sbuff_set(out, &our_out); + FR_SBUFF_SET_RETURN(out, &our_out); } diff --git a/src/lib/util/value.c b/src/lib/util/value.c index c4e1a175e1e..68b5c046028 100644 --- a/src/lib/util/value.c +++ b/src/lib/util/value.c @@ -4602,7 +4602,7 @@ ssize_t fr_value_box_from_substr(TALLOC_CTX *ctx, fr_value_box_t *dst, */ if (fr_value_box_cast(ctx, dst, dst_type, dst_enumv, enumv->value) < 0) return -1; - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); } parse: @@ -4630,7 +4630,7 @@ parse: fr_value_box_bstrndup(ctx, dst, dst_enumv, fr_sbuff_start(unescaped), fr_sbuff_used(unescaped), tainted); } - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); /* raw octets: 0x01020304... */ case FR_TYPE_OCTETS: @@ -4681,7 +4681,7 @@ parse: (uint8_t *)fr_sbuff_start(unescaped), fr_sbuff_used(unescaped), tainted); } - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); } fr_sbuff_marker(&hex_start, &our_in); /* Record where the hexits start */ @@ -4698,7 +4698,7 @@ parse: hex_len = fr_sbuff_adv_past_allowed(&our_in, SIZE_MAX, sbuff_char_class_hex, rules->terminals); if (hex_len == 0) { if (fr_value_box_memdup(ctx, dst, dst_enumv, (uint8_t[]){ 0x00 }, 0, tainted) < 0) return -1; - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); } if ((hex_len & 0x01) != 0) { @@ -4721,7 +4721,7 @@ parse: FR_SBUFF_ERROR_RETURN(&our_in); } - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); } case FR_TYPE_IPV4_ADDR: @@ -4881,7 +4881,7 @@ parse: fr_dbuff_in_memcpy(&dbuff, ((uint8_t *) &num) + 2, sizeof(dst->vb_ether)); fr_value_box_ethernet_addr(dst, dst_enumv, ðer, tainted); - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); } fr_sbuff_set_to_start(&our_in); @@ -4925,7 +4925,7 @@ parse: /* coverity[uninit_use_in_call] */ fr_value_box_ethernet_addr(dst, dst_enumv, ðer, tainted); - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); } case FR_TYPE_TIME_DELTA: @@ -4935,12 +4935,12 @@ parse: dst_enumv ? dst_enumv->flags.flag_time_res : FR_TIME_RES_SEC, false, rules->terminals); if (slen < 0) return slen; - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); case FR_TYPE_NULL: if (!rules->escapes && fr_sbuff_adv_past_str_literal(in, "NULL")) { fr_value_box_init(dst, dst_type, dst_enumv, tainted); - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); } fr_strerror_const("String value was not NULL"); @@ -5044,7 +5044,7 @@ finish: dst->enumv = dst_enumv; fr_dlist_entry_init(&dst->entry); - return fr_sbuff_set(in, &our_in); + FR_SBUFF_SET_RETURN(in, &our_in); } ssize_t fr_value_box_from_str(TALLOC_CTX *ctx, fr_value_box_t *dst, @@ -5258,7 +5258,7 @@ ssize_t fr_value_box_print(fr_sbuff_t *out, fr_value_box_t const *data, fr_sbuff } done: - return fr_sbuff_set(out, &our_out); + FR_SBUFF_SET_RETURN(out, &our_out); } /** Print one boxed value to a string with quotes (where needed) @@ -5286,7 +5286,7 @@ ssize_t fr_value_box_print_quoted(fr_sbuff_t *out, fr_value_box_t const *data, f return fr_value_box_print(out, data, NULL); } - return fr_sbuff_set(out, &our_out); + FR_SBUFF_SET_RETURN(out, &our_out); } /** Concatenate a list of value boxes together @@ -5378,7 +5378,7 @@ ssize_t fr_value_box_list_concat_as_string(bool *tainted, fr_sbuff_t *sbuff, fr_ if (vb_should_free(proc_action)) talloc_free(vb); }} - return fr_sbuff_set(sbuff, &our_sbuff); + FR_SBUFF_SET_RETURN(sbuff, &our_sbuff); } /** Concatenate a list of value boxes together