From: Alan T. DeKok Date: Thu, 29 Aug 2019 13:02:14 +0000 (-0400) Subject: use NUM_ELEMENTS() everywhere X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=05ead58678317acbe2b901596c8c8a45f3c2c6f4;p=thirdparty%2Ffreeradius-server.git use NUM_ELEMENTS() everywhere perl -p -i -e 's,sizeof\(([^)]+)\)\s+/\s+sizeof\([^\[)]+\[0\]\),NUM_ELEMENTS($1),;s,sizeof\(([^)]+)\)\s+/\s+sizeof\(\*[^\[)]+\),NUM_ELEMENTS($1),' $(find src -name "*.c" -print) Hmm... Perl... --- diff --git a/src/bin/radict.c b/src/bin/radict.c index 238e7628d6d..2d7b0eb85d8 100644 --- a/src/bin/radict.c +++ b/src/bin/radict.c @@ -109,7 +109,7 @@ static int load_dicts(char const *dict_dir) * load it as a dictionary. */ if (ret == 0) { - if (dict_end >= (dicts + (sizeof(dicts) / sizeof(*dicts)))) { + if (dict_end >= (dicts + (NUM_ELEMENTS(dicts)))) { fr_strerror_printf("Reached maximum number of dictionaries"); goto error; } diff --git a/src/bin/radsniff.c b/src/bin/radsniff.c index 62a921825c7..5ec76223610 100644 --- a/src/bin/radsniff.c +++ b/src/bin/radsniff.c @@ -644,7 +644,7 @@ static void rs_stats_print_fancy(rs_update_t *this, rs_stats_t *stats, struct ti { fr_pcap_t *in_p; size_t i; - size_t rs_codes_len = (sizeof(rs_useful_codes) / sizeof(*rs_useful_codes)); + size_t rs_codes_len = (NUM_ELEMENTS(rs_useful_codes)); /* * Clear and reset the screen @@ -690,7 +690,7 @@ static void rs_stats_print_fancy(rs_update_t *this, rs_stats_t *stats, struct ti static void rs_stats_print_csv_header(rs_update_t *this) { fr_pcap_t *in_p; - size_t rs_codes_len = (sizeof(rs_useful_codes) / sizeof(*rs_useful_codes)); + size_t rs_codes_len = (NUM_ELEMENTS(rs_useful_codes)); size_t i; int j; @@ -765,7 +765,7 @@ static void rs_stats_print_csv(rs_update_t *this, rs_stats_t *stats, UNUSED stru char buffer[2048], *p = buffer, *end = buffer + sizeof(buffer); fr_pcap_t *in_p; size_t i; - size_t rs_codes_len = (sizeof(rs_useful_codes) / sizeof(*rs_useful_codes)); + size_t rs_codes_len = (NUM_ELEMENTS(rs_useful_codes)); p += snprintf(buffer, sizeof(buffer) - (p - buffer), "%i", stats->intervals); if (p >= end) { @@ -808,7 +808,7 @@ static void rs_stats_print_csv(rs_update_t *this, rs_stats_t *stats, UNUSED stru static void rs_stats_process(fr_event_list_t *el, fr_time_t now_t, void *ctx) { size_t i; - size_t rs_codes_len = (sizeof(rs_useful_codes) / sizeof(*rs_useful_codes)); + size_t rs_codes_len = (NUM_ELEMENTS(rs_useful_codes)); fr_pcap_t *in_p; rs_update_t *this = ctx; rs_stats_t *stats = this->stats; @@ -1144,7 +1144,7 @@ static inline int rs_response_to_pcap(rs_event_t *event, rs_request_t *request, /* Reset the pointer to the start of the circular buffer */ if (request->capture_p++ >= (request->capture + - sizeof(request->capture) / sizeof(*request->capture))) { + NUM_ELEMENTS(request->capture))) { request->capture_p = request->capture; } } while (request->capture_p != start); @@ -1184,7 +1184,7 @@ static inline int rs_request_to_pcap(rs_event_t *event, rs_request_t *request, s /* Reset the pointer to the start of the circular buffer */ if (++request->capture_p >= (request->capture + - sizeof(request->capture) / sizeof(*request->capture))) { + NUM_ELEMENTS(request->capture))) { request->capture_p = request->capture; } return 0; @@ -2587,7 +2587,7 @@ int main(int argc, char *argv[]) fr_strerror(); /* Clear out any non-fatal errors */ if (conf->list_attributes) { - conf->list_da_num = rs_build_dict_list(conf->list_da, sizeof(conf->list_da) / sizeof(*conf->list_da), + conf->list_da_num = rs_build_dict_list(conf->list_da, NUM_ELEMENTS(conf->list_da), conf->list_attributes); if (conf->list_da_num < 0) { usage(64); @@ -2596,7 +2596,7 @@ int main(int argc, char *argv[]) } if (conf->link_attributes) { - conf->link_da_num = rs_build_dict_list(conf->link_da, sizeof(conf->link_da) / sizeof(*conf->link_da), + conf->link_da_num = rs_build_dict_list(conf->link_da, NUM_ELEMENTS(conf->link_da), conf->link_attributes); if (conf->link_da_num < 0) { usage(64); @@ -2767,7 +2767,7 @@ int main(int argc, char *argv[]) next = &conf->stats.tmpl; - for (i = 0; i < (sizeof(rs_useful_codes) / sizeof(*rs_useful_codes)); i++) { + for (i = 0; i < (NUM_ELEMENTS(rs_useful_codes)); i++) { tmpl = rs_stats_collectd_init_latency(conf, next, conf, "exchanged", &(stats->exchange[rs_useful_codes[i]]), rs_useful_codes[i]); diff --git a/src/bin/radsnmp.c b/src/bin/radsnmp.c index 85f87ae4be7..4d7c1a2dafc 100644 --- a/src/bin/radsnmp.c +++ b/src/bin/radsnmp.c @@ -551,7 +551,7 @@ static int radsnmp_get_response(int fd, DEBUG2("said: %s", (char *)io_vector[2].iov_base); DEBUG2("said: %s", (char *)io_vector[4].iov_base); - if (writev(fd, io_vector, sizeof(io_vector) / sizeof(*io_vector)) < 0) { + if (writev(fd, io_vector, NUM_ELEMENTS(io_vector)) < 0) { fr_strerror_printf("Failed writing varbind result: %s", fr_syserror(errno)); return -1; } @@ -615,7 +615,7 @@ static int radsnmp_set_response(int fd, fr_dict_attr_t const *error, VALUE_PAIR DEBUG2("said: %s", buffer); - if (writev(fd, io_vector, sizeof(io_vector) / sizeof(*io_vector)) < 0) { + if (writev(fd, io_vector, NUM_ELEMENTS(io_vector)) < 0) { fr_strerror_printf("Failed writing set response: %s", fr_syserror(errno)); return -1; } diff --git a/src/lib/ldap/base.c b/src/lib/ldap/base.c index 6cca0076318..2426fc1228e 100644 --- a/src/lib/ldap/base.c +++ b/src/lib/ldap/base.c @@ -584,8 +584,8 @@ fr_ldap_rcode_t fr_ldap_search(LDAPMessage **result, REQUEST *request, LDAPControl *our_clientctrls[LDAP_MAX_CONTROLS]; fr_ldap_control_merge(our_serverctrls, our_clientctrls, - sizeof(our_serverctrls) / sizeof(*our_serverctrls), - sizeof(our_clientctrls) / sizeof(*our_clientctrls), + NUM_ELEMENTS(our_serverctrls), + NUM_ELEMENTS(our_clientctrls), *pconn, serverctrls, clientctrls); rad_assert(*pconn && (*pconn)->handle); @@ -706,8 +706,8 @@ fr_ldap_rcode_t fr_ldap_search_async(int *msgid, REQUEST *request, LDAPControl *our_clientctrls[LDAP_MAX_CONTROLS]; fr_ldap_control_merge(our_serverctrls, our_clientctrls, - sizeof(our_serverctrls) / sizeof(*our_serverctrls), - sizeof(our_clientctrls) / sizeof(*our_clientctrls), + NUM_ELEMENTS(our_serverctrls), + NUM_ELEMENTS(our_clientctrls), *pconn, serverctrls, clientctrls); rad_assert(*pconn && (*pconn)->handle); @@ -787,8 +787,8 @@ fr_ldap_rcode_t fr_ldap_modify(REQUEST *request, fr_ldap_connection_t **pconn, LDAPControl *our_clientctrls[LDAP_MAX_CONTROLS]; fr_ldap_control_merge(our_serverctrls, our_clientctrls, - sizeof(our_serverctrls) / sizeof(*our_serverctrls), - sizeof(our_clientctrls) / sizeof(*our_clientctrls), + NUM_ELEMENTS(our_serverctrls), + NUM_ELEMENTS(our_clientctrls), *pconn, serverctrls, clientctrls); rad_assert(*pconn && (*pconn)->handle); diff --git a/src/lib/ldap/bind.c b/src/lib/ldap/bind.c index 30132240986..f0d1d551dec 100644 --- a/src/lib/ldap/bind.c +++ b/src/lib/ldap/bind.c @@ -118,8 +118,8 @@ static void _ldap_bind_io_write(fr_event_list_t *el, int fd, UNUSED int flags, v struct berval cred; fr_ldap_control_merge(our_serverctrls, our_clientctrls, - sizeof(our_serverctrls) / sizeof(*our_serverctrls), - sizeof(our_clientctrls) / sizeof(*our_clientctrls), + NUM_ELEMENTS(our_serverctrls), + NUM_ELEMENTS(our_clientctrls), c, bind_ctx->serverctrls, bind_ctx->clientctrls); /* diff --git a/src/lib/ldap/connection.c b/src/lib/ldap/connection.c index c9c71115918..009ca6d6877 100644 --- a/src/lib/ldap/connection.c +++ b/src/lib/ldap/connection.c @@ -163,8 +163,8 @@ static int fr_ldap_connection_reset(fr_ldap_connection_t *c) LDAPControl *our_clientctrls[LDAP_MAX_CONTROLS]; fr_ldap_control_merge(our_serverctrls, our_clientctrls, - sizeof(our_serverctrls) / sizeof(*our_serverctrls), - sizeof(our_clientctrls) / sizeof(*our_clientctrls), + NUM_ELEMENTS(our_serverctrls), + NUM_ELEMENTS(our_clientctrls), c, NULL, NULL); DEBUG3("Closing libldap handle %p", c->handle); diff --git a/src/lib/ldap/control.c b/src/lib/ldap/control.c index f3bc4aa980d..87aa40ccf41 100644 --- a/src/lib/ldap/control.c +++ b/src/lib/ldap/control.c @@ -89,7 +89,7 @@ USES_APPLE_DEPRECATED_API */ int fr_ldap_control_add_server(fr_ldap_connection_t *conn, LDAPControl *ctrl, bool freeit) { - if ((size_t)conn->serverctrls_cnt >= ((sizeof(conn->serverctrls) / sizeof(conn->serverctrls[0])) - 1)) { + if ((size_t)conn->serverctrls_cnt >= ((NUM_ELEMENTS(conn->serverctrls)) - 1)) { return -1; } @@ -113,7 +113,7 @@ int fr_ldap_control_add_server(fr_ldap_connection_t *conn, LDAPControl *ctrl, bo */ int fr_ldap_control_add_client(fr_ldap_connection_t *conn, LDAPControl *ctrl, bool freeit) { - if ((size_t)conn->clientctrls_cnt >= ((sizeof(conn->clientctrls) / sizeof(conn->clientctrls[0])) - 1)) { + if ((size_t)conn->clientctrls_cnt >= ((NUM_ELEMENTS(conn->clientctrls)) - 1)) { return -1; } diff --git a/src/lib/ldap/sasl.c b/src/lib/ldap/sasl.c index bde8dda6dd6..65ef50d8aeb 100644 --- a/src/lib/ldap/sasl.c +++ b/src/lib/ldap/sasl.c @@ -195,8 +195,8 @@ static void _ldap_sasl_bind_io_write(fr_event_list_t *el, int fd, UNUSED int fla LDAPControl *our_clientctrls[LDAP_MAX_CONTROLS]; fr_ldap_control_merge(our_serverctrls, our_clientctrls, - sizeof(our_serverctrls) / sizeof(*our_serverctrls), - sizeof(our_clientctrls) / sizeof(*our_clientctrls), + NUM_ELEMENTS(our_serverctrls), + NUM_ELEMENTS(our_clientctrls), c, sasl_ctx->serverctrls, sasl_ctx->clientctrls); DEBUG2("Starting SASL mech(s): %s", sasl_ctx->mechs); diff --git a/src/lib/ldap/sasl_s.c b/src/lib/ldap/sasl_s.c index 397128b7883..ed88e31fe26 100644 --- a/src/lib/ldap/sasl_s.c +++ b/src/lib/ldap/sasl_s.c @@ -127,8 +127,8 @@ fr_ldap_rcode_t fr_ldap_sasl_interactive(REQUEST *request, LDAPControl *our_clientctrls[LDAP_MAX_CONTROLS]; fr_ldap_control_merge(our_serverctrls, our_clientctrls, - sizeof(our_serverctrls) / sizeof(*our_serverctrls), - sizeof(our_clientctrls) / sizeof(*our_clientctrls), + NUM_ELEMENTS(our_serverctrls), + NUM_ELEMENTS(our_clientctrls), conn, serverctrls, clientctrls); sasl_ctx.request = request; diff --git a/src/lib/ldap/start_tls.c b/src/lib/ldap/start_tls.c index f6a08d6ec51..1513e656e4b 100644 --- a/src/lib/ldap/start_tls.c +++ b/src/lib/ldap/start_tls.c @@ -157,8 +157,8 @@ static void _ldap_start_tls_io_write(fr_event_list_t *el, int fd, UNUSED int fla LDAPControl *our_clientctrls[LDAP_MAX_CONTROLS]; fr_ldap_control_merge(our_serverctrls, our_clientctrls, - sizeof(our_serverctrls) / sizeof(*our_serverctrls), - sizeof(our_clientctrls) / sizeof(*our_clientctrls), + NUM_ELEMENTS(our_serverctrls), + NUM_ELEMENTS(our_clientctrls), c, tls_ctx->serverctrls, tls_ctx->clientctrls); /* diff --git a/src/lib/server/exec.c b/src/lib/server/exec.c index 787a7ee4dc6..38206926a56 100644 --- a/src/lib/server/exec.c +++ b/src/lib/server/exec.c @@ -201,7 +201,7 @@ pid_t radius_start_program(char const *cmd, REQUEST *request, bool exec_wait, * and will remain locked in the child. */ for (vp = fr_cursor_init(&cursor, &input_pairs); - vp && (envlen < ((sizeof(envp) / sizeof(*envp)) - 1)); + vp && (envlen < ((NUM_ELEMENTS(envp)) - 1)); vp = fr_cursor_next(&cursor)) { /* * Hmm... maybe we shouldn't pass the @@ -230,7 +230,7 @@ pid_t radius_start_program(char const *cmd, REQUEST *request, bool exec_wait, da = fr_dict_attr_child_by_num(fr_dict_root(fr_dict_internal), FR_EXEC_EXPORT); if (da) { for (vp = fr_cursor_iter_by_da_init(&cursor, &request->control, da); - vp && (envlen < ((sizeof(envp) / sizeof(*envp)) - 1)); + vp && (envlen < ((NUM_ELEMENTS(envp)) - 1)); vp = fr_cursor_next(&cursor)) { DEBUG3("export %pV", &vp->data); memcpy(&envp[envlen++], &vp->vp_strvalue, sizeof(*envp)); diff --git a/src/lib/tls/base.c b/src/lib/tls/base.c index 78e84b3777d..ee089bd36d8 100644 --- a/src/lib/tls/base.c +++ b/src/lib/tls/base.c @@ -359,7 +359,7 @@ int tls_version_check(char const *acknowledged) /* Check for bad versions */ v = (uint64_t) SSLeay(); - for (i = 0; i < (sizeof(libssl_defects) / sizeof(*libssl_defects)); i++) { + for (i = 0; i < (NUM_ELEMENTS(libssl_defects)); i++) { libssl_defect_t *defect = &libssl_defects[i]; if ((v >= defect->low) && (v <= defect->high)) { diff --git a/src/lib/util/event.c b/src/lib/util/event.c index 21c0da080a1..e57716ed7dd 100644 --- a/src/lib/util/event.c +++ b/src/lib/util/event.c @@ -500,7 +500,7 @@ static ssize_t fr_event_build_evset(struct kevent out_kev[], size_t outlen, fr_e if (has_current_func && (!has_prev_func || (has_prev_func && (current_fflags != prev_fflags)))) { - if ((size_t)(add_p - add) >= (sizeof(add) / sizeof(*add))) { + if ((size_t)(add_p - add) >= (NUM_ELEMENTS(add))) { fr_strerror_printf("Out of memory to store kevent EV_ADD filters"); return -1; } diff --git a/src/lib/util/socket.c b/src/lib/util/socket.c index f0742a8d35a..207aaece904 100644 --- a/src/lib/util/socket.c +++ b/src/lib/util/socket.c @@ -920,7 +920,7 @@ int fr_socket_bind(int sockfd, fr_ipaddr_t const *src_ipaddr, uint16_t *src_port CAP_NET_BIND_SERVICE }; - if (cap_set_flag(caps, CAP_EFFECTIVE, sizeof(to_set) / sizeof(*to_set), to_set, CAP_SET) < 0) { + if (cap_set_flag(caps, CAP_EFFECTIVE, NUM_ELEMENTS(to_set), to_set, CAP_SET) < 0) { fr_strerror_printf_push("Failed setting CAP_NET_BIND_SERVICE effective state: %s", fr_syserror(errno)); goto skip_cap; diff --git a/src/lib/util/syserror.c b/src/lib/util/syserror.c index e307471efe7..667818b8296 100644 --- a/src/lib/util/syserror.c +++ b/src/lib/util/syserror.c @@ -43,7 +43,7 @@ static _Thread_local bool logging_stop; //!< Due to ordering issues we may get e ///< which cause a crash on exit if the logging buffer ///< has already been freed. -#define HAVE_DEFINITION(_errno) ((_errno) < (int)(sizeof(fr_syserror_macro_names) / sizeof(*fr_syserror_macro_names))) +#define HAVE_DEFINITION(_errno) ((_errno) < (int)(NUM_ELEMENTS(fr_syserror_macro_names))) /* * Explicitly cleanup the memory allocated to the error buffer, diff --git a/src/modules/proto_dhcpv4/old.c b/src/modules/proto_dhcpv4/old.c index 169a387ce30..d0eb15e6f2d 100644 --- a/src/modules/proto_dhcpv4/old.c +++ b/src/modules/proto_dhcpv4/old.c @@ -477,7 +477,7 @@ static rlm_rcode_t dhcp_process(REQUEST *request) * Copy specific fields from packet to reply, if they * don't already exist */ - for (i = 0; i < sizeof(attrnums) / sizeof(attrnums[0]); i++) { + for (i = 0; i < NUM_ELEMENTS(attrnums); i++) { uint32_t attr = attrnums[i]; if (fr_pair_find_by_num(request->reply->vps, DHCP_MAGIC_VENDOR, attr, TAG_ANY)) continue; diff --git a/src/modules/proto_dhcpv4/proto_dhcpv4.c b/src/modules/proto_dhcpv4/proto_dhcpv4.c index 2dc6aac27d3..3e136e19126 100644 --- a/src/modules/proto_dhcpv4/proto_dhcpv4.c +++ b/src/modules/proto_dhcpv4/proto_dhcpv4.c @@ -151,7 +151,7 @@ static int type_parse(TALLOC_CTX *ctx, void *out, UNUSED void *parent, cf_data_add(ci, type_enum, NULL, false); code = type_enum->value->vb_uint32; - if (!code || (code >= (sizeof(type_lib_table) / sizeof(*type_lib_table)))) { + if (!code || (code >= (NUM_ELEMENTS(type_lib_table)))) { cf_log_err(ci, "Unsupported 'type = %s'", type_str); return -1; } @@ -510,7 +510,7 @@ static int mod_instantiate(void *instance, CONF_SECTION *conf) * Instantiate the process modules */ if (fr_app_process_instantiate(inst->io.server_cs, inst->type_submodule, inst->type_submodule_by_code, - sizeof(inst->type_submodule_by_code) / sizeof(inst->type_submodule_by_code[0]), + NUM_ELEMENTS(inst->type_submodule_by_code), conf) < 0) { return -1; } diff --git a/src/modules/proto_radius/proto_radius.c b/src/modules/proto_radius/proto_radius.c index 1b5668d637e..d4048848aaa 100644 --- a/src/modules/proto_radius/proto_radius.c +++ b/src/modules/proto_radius/proto_radius.c @@ -151,7 +151,7 @@ static int type_parse(TALLOC_CTX *ctx, void *out, UNUSED void *parent, CONF_ITEM if (!type_enum) { size_t i; - for (i = 0; i < (sizeof(type_lib_table) / sizeof(*type_lib_table)); i++) { + for (i = 0; i < (NUM_ELEMENTS(type_lib_table)); i++) { name = type_lib_table[i]; if (name && (strcmp(name, type_str) == 0)) { type_enum = fr_dict_enum_by_value(attr_packet_type, fr_box_uint32(i)); @@ -622,7 +622,7 @@ static int mod_instantiate(void *instance, CONF_SECTION *conf) * Instantiate the process modules */ if (fr_app_process_instantiate(inst->io.server_cs, inst->type_submodule, inst->type_submodule_by_code, - sizeof(inst->type_submodule_by_code) / sizeof(inst->type_submodule_by_code[0]), + NUM_ELEMENTS(inst->type_submodule_by_code), conf) < 0) { return -1; } diff --git a/src/modules/proto_vmps/proto_vmps.c b/src/modules/proto_vmps/proto_vmps.c index cfb08e8e940..0742d3fc9ef 100644 --- a/src/modules/proto_vmps/proto_vmps.c +++ b/src/modules/proto_vmps/proto_vmps.c @@ -478,7 +478,7 @@ static int mod_instantiate(void *instance, CONF_SECTION *conf) * Instantiate the process modules */ if (fr_app_process_instantiate(inst->io.server_cs, inst->type_submodule, inst->type_submodule_by_code, - sizeof(inst->type_submodule_by_code) / sizeof(inst->type_submodule_by_code[0]), + NUM_ELEMENTS(inst->type_submodule_by_code), conf) < 0) { return -1; } diff --git a/src/modules/rlm_cache/drivers/rlm_cache_redis/rlm_cache_redis.c b/src/modules/rlm_cache/drivers/rlm_cache_redis/rlm_cache_redis.c index f1a8057a515..a9777e8007a 100644 --- a/src/modules/rlm_cache/drivers/rlm_cache_redis/rlm_cache_redis.c +++ b/src/modules/rlm_cache/drivers/rlm_cache_redis/rlm_cache_redis.c @@ -399,7 +399,7 @@ static cache_status_t cache_entry_insert(UNUSED rlm_cache_config_t const *config } reply_cnt = fr_redis_pipeline_result(&pipelined, &status, - replies, sizeof(replies) / sizeof(*replies), + replies, NUM_ELEMENTS(replies), conn); reply = replies[0]; } diff --git a/src/modules/rlm_isc_dhcp/rlm_isc_dhcp.c b/src/modules/rlm_isc_dhcp/rlm_isc_dhcp.c index 75908a1c8d5..aade18e7b6e 100644 --- a/src/modules/rlm_isc_dhcp/rlm_isc_dhcp.c +++ b/src/modules/rlm_isc_dhcp/rlm_isc_dhcp.c @@ -2114,7 +2114,7 @@ static int parse_section(rlm_isc_dhcp_tokenizer_t *state, rlm_isc_dhcp_info_t *i */ if (*state->token == '}') break; - rcode = match_keyword(info, state, commands, sizeof(commands) / sizeof(commands[0])); + rcode = match_keyword(info, state, commands, NUM_ELEMENTS(commands)); if (rcode < 0) return rcode; if (rcode == 0) break; @@ -2187,7 +2187,7 @@ static int read_file(rlm_isc_dhcp_t *inst, rlm_isc_dhcp_info_t *parent, char con * This will automatically re-fill the buffer, * and find a matching token. */ - rcode = match_keyword(parent, &state, commands, sizeof(commands) / sizeof(commands[0])); + rcode = match_keyword(parent, &state, commands, NUM_ELEMENTS(commands)); if (rcode < 0) goto fail; if (rcode == 0) break; } diff --git a/src/modules/rlm_ldap/groups.c b/src/modules/rlm_ldap/groups.c index 36808c51706..074633c925e 100644 --- a/src/modules/rlm_ldap/groups.c +++ b/src/modules/rlm_ldap/groups.c @@ -450,7 +450,7 @@ rlm_rcode_t rlm_ldap_cacheable_groupobj(rlm_ldap_t const *inst, REQUEST *request } if (fr_ldap_xlat_filter(request, - filters, sizeof(filters) / sizeof(*filters), + filters, NUM_ELEMENTS(filters), filter, sizeof(filter)) < 0) { return RLM_MODULE_INVALID; } @@ -571,7 +571,7 @@ rlm_rcode_t rlm_ldap_check_groupobj_dynamic(rlm_ldap_t const *inst, REQUEST *req RINDENT(); ret = fr_ldap_xlat_filter(request, - filters, sizeof(filters) / sizeof(*filters), + filters, NUM_ELEMENTS(filters), filter, sizeof(filter)); REXDENT(); @@ -592,7 +592,7 @@ rlm_rcode_t rlm_ldap_check_groupobj_dynamic(rlm_ldap_t const *inst, REQUEST *req snprintf(name_filter, sizeof(name_filter), "(%s=%s)", inst->groupobj_name_attr, check->vp_strvalue); RINDENT(); ret = fr_ldap_xlat_filter(request, - filters, sizeof(filters) / sizeof(*filters), + filters, NUM_ELEMENTS(filters), filter, sizeof(filter)); REXDENT(); if (ret < 0) return RLM_MODULE_INVALID; diff --git a/src/modules/rlm_redis_ippool/rlm_redis_ippool.c b/src/modules/rlm_redis_ippool/rlm_redis_ippool.c index 7cb86c8abd1..316ca20667c 100644 --- a/src/modules/rlm_redis_ippool/rlm_redis_ippool.c +++ b/src/modules/rlm_redis_ippool/rlm_redis_ippool.c @@ -504,7 +504,7 @@ static fr_redis_rcode_t ippool_script(redisReply **out, REQUEST *request, fr_red pipelined++; } reply_cnt = fr_redis_pipeline_result(&pipelined, &status, - replies, sizeof(replies) / sizeof(*replies), + replies, NUM_ELEMENTS(replies), conn); if (status != REDIS_RCODE_NO_SCRIPT) continue; @@ -532,7 +532,7 @@ static fr_redis_rcode_t ippool_script(redisReply **out, REQUEST *request, fr_red } reply_cnt = fr_redis_pipeline_result(&pipelined, &status, - replies, sizeof(replies) / sizeof(*replies), + replies, NUM_ELEMENTS(replies), conn); if (status == REDIS_RCODE_SUCCESS) { if (RDEBUG_ENABLED3) for (i = 0; i < reply_cnt; i++) { diff --git a/src/modules/rlm_redis_ippool/rlm_redis_ippool_tool.c b/src/modules/rlm_redis_ippool/rlm_redis_ippool_tool.c index 339ebb62322..0905404db2b 100644 --- a/src/modules/rlm_redis_ippool/rlm_redis_ippool_tool.c +++ b/src/modules/rlm_redis_ippool/rlm_redis_ippool_tool.c @@ -1348,7 +1348,7 @@ static int parse_ip_range(fr_ipaddr_t *start_out, fr_ipaddr_t *end_out, char con int main(int argc, char *argv[]) { static ippool_tool_operation_t ops[128]; - ippool_tool_operation_t *p = ops, *end = ops + (sizeof(ops) / sizeof(*ops)); + ippool_tool_operation_t *p = ops, *end = ops + (NUM_ELEMENTS(ops)); int c; diff --git a/src/modules/rlm_rest/rlm_rest.c b/src/modules/rlm_rest/rlm_rest.c index 7aedf9b11f8..d5fc01c6246 100644 --- a/src/modules/rlm_rest/rlm_rest.c +++ b/src/modules/rlm_rest/rlm_rest.c @@ -1143,7 +1143,7 @@ static int mod_load(void) curl_version_info_data *curlversion; /* developer sanity */ - rad_assert((sizeof(http_body_type_supported) / sizeof(*http_body_type_supported)) == REST_HTTP_BODY_NUM_ENTRIES); + rad_assert((NUM_ELEMENTS(http_body_type_supported)) == REST_HTTP_BODY_NUM_ENTRIES); ret = curl_global_init(CURL_GLOBAL_ALL); if (ret != CURLE_OK) { diff --git a/src/modules/rlm_sql/sql.c b/src/modules/rlm_sql/sql.c index be221eab876..79fcee74ab5 100644 --- a/src/modules/rlm_sql/sql.c +++ b/src/modules/rlm_sql/sql.c @@ -282,7 +282,7 @@ void rlm_sql_print_error(rlm_sql_t const *inst, REQUEST *request, rlm_sql_handle sql_log_entry_t log[20]; size_t num, i; - num = (inst->driver->sql_error)(handle->log_ctx, log, (sizeof(log) / sizeof(*log)), handle, inst->config); + num = (inst->driver->sql_error)(handle->log_ctx, log, (NUM_ELEMENTS(log)), handle, inst->config); if (num == 0) { ROPTIONAL(RERROR, ERROR, "Unknown error"); return; diff --git a/src/modules/rlm_stats/rlm_stats.c b/src/modules/rlm_stats/rlm_stats.c index d479f28caec..fda09e22f77 100644 --- a/src/modules/rlm_stats/rlm_stats.c +++ b/src/modules/rlm_stats/rlm_stats.c @@ -154,7 +154,7 @@ static rlm_rcode_t CC_HINT(nonnull) mod_stats(void *instance, void *thread, REQU rlm_stats_data_t mydata, *stats; fr_cursor_t cursor; char buffer[64]; - uint64_t local_stats[sizeof(inst->stats) / sizeof(inst->stats[0])]; + uint64_t local_stats[NUM_ELEMENTS(inst->stats)]; /* * Increment counters only in "send foo" sections. diff --git a/src/protocols/dhcpv4/base.c b/src/protocols/dhcpv4/base.c index 6d63010cce1..f5086047721 100644 --- a/src/protocols/dhcpv4/base.c +++ b/src/protocols/dhcpv4/base.c @@ -135,7 +135,7 @@ char const *dhcp_message_types[] = { "DHCP-Lease-Query-Done" }; -#define DHCP_MAX_MESSAGE_TYPE (sizeof(dhcp_message_types) / sizeof(dhcp_message_types[0])) +#define DHCP_MAX_MESSAGE_TYPE (NUM_ELEMENTS(dhcp_message_types)) int dhcp_header_sizes[] = { 1, /* op */