From: Alan T. DeKok Date: Mon, 13 Jan 2025 20:49:13 +0000 (-0500) Subject: pass da_p X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2e46cbee220fc89857aedfa0d747dc9646c73f68;p=thirdparty%2Ffreeradius-server.git pass da_p --- diff --git a/src/lib/util/dict.h b/src/lib/util/dict.h index ca9b408efe2..6d6372bb407 100644 --- a/src/lib/util/dict.h +++ b/src/lib/util/dict.h @@ -304,7 +304,7 @@ typedef enum { } fr_dict_attr_err_t; typedef bool (*fr_dict_attr_valid_func_t)(fr_dict_attr_t *da); -typedef bool (*fr_dict_attr_type_parse_t)(fr_type_t *type, fr_dict_attr_flags_t *flags, char const *name); +typedef bool (*fr_dict_attr_type_parse_t)(fr_dict_attr_t *da, char const *name); /* * Forward declarations to avoid circular references. diff --git a/src/lib/util/dict_tokenize.c b/src/lib/util/dict_tokenize.c index 430a0835311..c3cae3c290f 100644 --- a/src/lib/util/dict_tokenize.c +++ b/src/lib/util/dict_tokenize.c @@ -435,16 +435,18 @@ static int dict_process_type_field(dict_tokenize_ctx_t *dctx, char const *name, */ type = fr_type_from_str(name); if (fr_type_is_null(type)) { - fr_dict_attr_t *da = *da_p; - if (!dctx->dict->proto->attr.type_parse) { fr_strerror_printf("Unknown data type '%s'", name); return -1; } - if (!dctx->dict->proto->attr.type_parse(&type, &da->flags, name)) { + if (!dctx->dict->proto->attr.type_parse(da_p, name); return -1; } + + type = (*da_p)->type; + + fr_assert(!fr_type_is_null(type)); } return dict_attr_type_init(da_p, type);