From: Alan T. DeKok Date: Wed, 24 Mar 2021 14:52:32 +0000 (-0400) Subject: don't overload names X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=be25a0276e2321f5272ddceb495c26302e69163a;p=thirdparty%2Ffreeradius-server.git don't overload names in preparation for cleaning up the dict attr flags --- diff --git a/src/lib/util/dict.h b/src/lib/util/dict.h index 7e604b38716..7c03da27a07 100644 --- a/src/lib/util/dict.h +++ b/src/lib/util/dict.h @@ -95,6 +95,8 @@ typedef struct { uint8_t type_size; //!< For TLV2 and root attributes. } fr_dict_attr_flags_t; +#define flag_time_res type_size + /** subtype values for the dictionary when extra=1 * */ diff --git a/src/lib/util/dict_print.c b/src/lib/util/dict_print.c index 6405b0d3b91..74a3b61c82a 100644 --- a/src/lib/util/dict_print.c +++ b/src/lib/util/dict_print.c @@ -66,7 +66,7 @@ ssize_t fr_dict_print_flags(fr_sbuff_t *out, fr_dict_t const *dict, fr_type_t ty */ if ((type == FR_TYPE_DATE) || (type == FR_TYPE_TIME_DELTA)) { FR_SBUFF_IN_STRCPY_RETURN(&our_out, - fr_table_str_by_value(date_precision_table, flags->type_size, "?")); + fr_table_str_by_value(date_precision_table, flags->flag_time_res, "?")); } fr_sbuff_trim(&our_out, (bool[UINT8_MAX + 1]){ [','] = true }); diff --git a/src/lib/util/dict_tokenize.c b/src/lib/util/dict_tokenize.c index cdfe999504c..d938a8a6eb1 100644 --- a/src/lib/util/dict_tokenize.c +++ b/src/lib/util/dict_tokenize.c @@ -370,7 +370,7 @@ static int dict_process_flag_field(dict_tokenize_ctx_t *ctx, char *name, fr_type } else if ((type == FR_TYPE_DATE) || (type == FR_TYPE_TIME_DELTA)) { flags->length = 4; - flags->type_size = FR_TIME_RES_SEC; + flags->flag_time_res = FR_TIME_RES_SEC; if (strncmp(key, "uint", 4) == 0) { fr_type_t subtype; @@ -422,7 +422,7 @@ static int dict_process_flag_field(dict_tokenize_ctx_t *ctx, char *name, fr_type key); return -1; } - flags->type_size = precision; + flags->flag_time_res = precision; } } else if (strcmp(key, "ref") == 0) { diff --git a/src/lib/util/dict_validate.c b/src/lib/util/dict_validate.c index 8c497a4a1c8..4a31f656b73 100644 --- a/src/lib/util/dict_validate.c +++ b/src/lib/util/dict_validate.c @@ -266,10 +266,10 @@ bool dict_attr_flags_valid(fr_dict_t *dict, fr_dict_attr_t const *parent, flags->length, fr_table_str_by_value(fr_value_box_type_table, type, "")); } - if ((flags->type_size != FR_TIME_RES_SEC) && - (flags->type_size != FR_TIME_RES_MSEC) && - (flags->type_size != FR_TIME_RES_USEC) && - (flags->type_size != FR_TIME_RES_NSEC)) { + if ((flags->flag_time_res != FR_TIME_RES_SEC) && + (flags->flag_time_res != FR_TIME_RES_MSEC) && + (flags->flag_time_res != FR_TIME_RES_USEC) && + (flags->flag_time_res != FR_TIME_RES_NSEC)) { fr_strerror_printf("Invalid precision for attribute of type '%s'", fr_table_str_by_value(fr_value_box_type_table, type, "")); } @@ -447,12 +447,12 @@ bool dict_attr_flags_valid(fr_dict_t *dict, fr_dict_attr_t const *parent, */ if (flags->type_size) { if ((type == FR_TYPE_DATE) || (type == FR_TYPE_TIME_DELTA)) { - if ((flags->type_size != FR_TIME_RES_SEC) && - (flags->type_size != FR_TIME_RES_USEC) && - (flags->type_size != FR_TIME_RES_MSEC) && - (flags->type_size != FR_TIME_RES_NSEC)) { + if ((flags->flag_time_res != FR_TIME_RES_SEC) && + (flags->flag_time_res != FR_TIME_RES_USEC) && + (flags->flag_time_res != FR_TIME_RES_MSEC) && + (flags->flag_time_res != FR_TIME_RES_NSEC)) { fr_strerror_printf("Invalid precision specifier %d for attribute of type 'date'", - flags->type_size); + flags->flag_time_res); return false; } } else if (!flags->extra) { diff --git a/src/lib/util/value.c b/src/lib/util/value.c index 35d763b32ab..9c2cb0828ed 100644 --- a/src/lib/util/value.c +++ b/src/lib/util/value.c @@ -1312,7 +1312,7 @@ ssize_t fr_value_box_to_network(fr_dbuff_t *dbuff, fr_value_box_t const *value) if (!value->enumv) { goto date_seconds; - } else switch (value->enumv->flags.type_size) { + } else switch (value->enumv->flags.flag_time_res) { date_seconds: case FR_TIME_RES_SEC: date = fr_unix_time_to_sec(value->vb_date); @@ -1367,7 +1367,7 @@ ssize_t fr_value_box_to_network(fr_dbuff_t *dbuff, fr_value_box_t const *value) if (!value->enumv) { goto delta_seconds; - } else switch (value->enumv->flags.type_size) { + } else switch (value->enumv->flags.flag_time_res) { delta_seconds: case FR_TIME_RES_SEC: date = fr_time_delta_to_sec(value->vb_time_delta); @@ -1640,7 +1640,7 @@ ssize_t fr_value_box_from_network_dbuff(TALLOC_CTX *ctx, if (enumv) { length = enumv->flags.length; - precision = (fr_time_res_t)enumv->flags.type_size; + precision = (fr_time_res_t)enumv->flags.flag_time_res; } /* @@ -1683,7 +1683,7 @@ ssize_t fr_value_box_from_network_dbuff(TALLOC_CTX *ctx, if (enumv) { length = enumv->flags.length; - precision = (fr_time_res_t)enumv->flags.type_size; + precision = (fr_time_res_t)enumv->flags.flag_time_res; } /* @@ -2605,7 +2605,7 @@ static inline int fr_value_box_cast_integer_to_integer(UNUSED TALLOC_CTX *ctx, f */ case FR_TYPE_DATE: if (dst->enumv) { - switch (dst->enumv->flags.type_size) { + switch (dst->enumv->flags.flag_time_res) { date_src_seconds: default: case FR_TIME_RES_SEC: @@ -2635,7 +2635,7 @@ static inline int fr_value_box_cast_integer_to_integer(UNUSED TALLOC_CTX *ctx, f */ case FR_TYPE_TIME_DELTA: if (dst->enumv) { - switch (dst->enumv->flags.type_size) { + switch (dst->enumv->flags.flag_time_res) { delta_src_seconds: default: case FR_TIME_RES_SEC: @@ -2692,7 +2692,7 @@ static inline int fr_value_box_cast_integer_to_integer(UNUSED TALLOC_CTX *ctx, f switch (dst_type) { case FR_TYPE_DATE: if (dst->enumv) { - switch (dst->enumv->flags.type_size) { + switch (dst->enumv->flags.flag_time_res) { date_dst_seconds: default: case FR_TIME_RES_SEC: @@ -2716,7 +2716,7 @@ static inline int fr_value_box_cast_integer_to_integer(UNUSED TALLOC_CTX *ctx, f case FR_TYPE_TIME_DELTA: if (dst->enumv) { - switch (dst->enumv->flags.type_size) { + switch (dst->enumv->flags.flag_time_res) { delta_dst_seconds: default: case FR_TIME_RES_SEC: @@ -4470,7 +4470,7 @@ parse: case FR_TYPE_TIME_DELTA: if (dst_enumv) { - if (fr_time_delta_from_str(&dst->datum.time_delta, in, dst_enumv->flags.type_size) < 0) return -1; + if (fr_time_delta_from_str(&dst->datum.time_delta, in, dst_enumv->flags.flag_time_res) < 0) return -1; } else { if (fr_time_delta_from_str(&dst->datum.time_delta, in, FR_TIME_RES_SEC) < 0) return -1; } @@ -4757,7 +4757,7 @@ ssize_t fr_value_box_print(fr_sbuff_t *out, fr_value_box_t const *data, fr_sbuff t = fr_unix_time_to_sec(data->vb_date); (void) gmtime_r(&t, &s_tm); - if (!data->enumv || (data->enumv->flags.type_size == FR_TIME_RES_SEC)) { + if (!data->enumv || (data->enumv->flags.flag_time_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); goto done; @@ -4773,7 +4773,7 @@ ssize_t fr_value_box_print(fr_sbuff_t *out, fr_value_box_t const *data, fr_sbuff * allows a much more complex set of date * formats. The RFC is much stricter. */ - switch (data->enumv->flags.type_size) { + switch (data->enumv->flags.flag_time_res) { default: break; @@ -4818,7 +4818,7 @@ ssize_t fr_value_box_print(fr_sbuff_t *out, fr_value_box_t const *data, fr_sbuff uint64_t lhs, rhs; fr_time_res_t res = FR_TIME_RES_SEC; - if (data->enumv) res = data->enumv->flags.type_size; + if (data->enumv) res = data->enumv->flags.flag_time_res; switch (res) { default: