]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
use NUM_ELEMENTS() everywhere
authorAlan T. DeKok <aland@freeradius.org>
Thu, 29 Aug 2019 13:02:14 +0000 (09:02 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Thu, 29 Aug 2019 13:02:14 +0000 (09:02 -0400)
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...

28 files changed:
src/bin/radict.c
src/bin/radsniff.c
src/bin/radsnmp.c
src/lib/ldap/base.c
src/lib/ldap/bind.c
src/lib/ldap/connection.c
src/lib/ldap/control.c
src/lib/ldap/sasl.c
src/lib/ldap/sasl_s.c
src/lib/ldap/start_tls.c
src/lib/server/exec.c
src/lib/tls/base.c
src/lib/util/event.c
src/lib/util/socket.c
src/lib/util/syserror.c
src/modules/proto_dhcpv4/old.c
src/modules/proto_dhcpv4/proto_dhcpv4.c
src/modules/proto_radius/proto_radius.c
src/modules/proto_vmps/proto_vmps.c
src/modules/rlm_cache/drivers/rlm_cache_redis/rlm_cache_redis.c
src/modules/rlm_isc_dhcp/rlm_isc_dhcp.c
src/modules/rlm_ldap/groups.c
src/modules/rlm_redis_ippool/rlm_redis_ippool.c
src/modules/rlm_redis_ippool/rlm_redis_ippool_tool.c
src/modules/rlm_rest/rlm_rest.c
src/modules/rlm_sql/sql.c
src/modules/rlm_stats/rlm_stats.c
src/protocols/dhcpv4/base.c

index 238e7628d6dfb76da8b59ee31a01b897590f3faa..2d7b0eb85d8bb1f2390b46bff40970316c6c5419 100644 (file)
@@ -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;
                                }
index 62a921825c7db3daa34171483cde287a59bf864b..5ec762236101dd156ade786ee92732aff55bf526 100644 (file)
@@ -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]);
index 85f87ae4be7311cb8fdf4404670fe89b35774f92..4d7c1a2dafcbe2f1120a75df9c726ac404fbc21b 100644 (file)
@@ -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;
        }
index 6cca0076318d694355941ad5f952ef39815a7f32..2426fc1228efd8529f37db1e8352d65941751f98 100644 (file)
@@ -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);
index 30132240986edd6676be04b2f74ef3259c295a99..f0d1d551dec35fb7ad7abef7529135d8824fee28 100644 (file)
@@ -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);
 
        /*
index c9c7111591864e2028afe8df0a80f2f0457b4fb2..009ca6d687715899b0a7bd3eb6ee76c1093bd0d9 100644 (file)
@@ -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);
index f3bc4aa980df25072510f5ce9ba8d7c5a63b1061..87aa40ccf41639d297e223d39adde8b51ba2f70d 100644 (file)
@@ -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;
        }
 
index bde8dda6dd6467bfb18d3966db0f38e6322ad4fb..65ef50d8aeb439108715d5ea3bc18d72dd51f8fd 100644 (file)
@@ -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);
index 397128b78832bee9736d13754b6911bf76d6ce18..ed88e31fe26c7f31e8c5eaf52f7373e087309b7c 100644 (file)
@@ -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;
index f6a08d6ec51dcca172f633fce1643aea14c9acf7..1513e656e4bb28ea7207f85813e61f3df53d198a 100644 (file)
@@ -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);
 
        /*
index 787a7ee4dc6e57e66092bffd1922bf3f314ad1a3..38206926a569c28d322f079377d435f60d175279 100644 (file)
@@ -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));
index 78e84b3777d2bec33ac033190bfcd6798df0fade..ee089bd36d840967d2acd4fe8e7feb2265d9c1e6 100644 (file)
@@ -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)) {
index 21c0da080a1b3f81d6a7cfa3307927eab79bde0b..e57716ed7ddc2f18965cc5cc1596e3c25ab746d7 100644 (file)
@@ -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;
                        }
index f0742a8d35a6f747e5a7c5a33a60c98c39d9da4e..207aaece90430308bb08179bfc234d29cf9ce7a3 100644 (file)
@@ -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;
index e307471efe7d8a137b849052aac96f0e7c2ffdda..667818b829661e7812c3f20ad679eb556a80abc5 100644 (file)
@@ -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,
index 169a387ce3025f48fa72538e78ae303f07146df9..d0eb15e6f2dc4902216b1b4744af18060e31b6a0 100644 (file)
@@ -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;
index 2dc6aac27d36318a1bd747f4b2d153c1def5930c..3e136e19126bbb7e53f5ff1710c401384b653bc7 100644 (file)
@@ -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;
        }
index 1b5668d637e91252ed065ba23c7c2a5d41d57d01..d4048848aaac1c0328bbf4d38c1db2e007a2ae87 100644 (file)
@@ -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;
        }
index cfb08e8e940af4ab1e2adfef9523b0f6d852cf3c..0742d3fc9ef0ae02a41a99071247d2b48648f02d 100644 (file)
@@ -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;
        }
index f1a8057a51503a0a4a3a0364cb2cf9c987906f32..a9777e8007a8ed93c8d4015961fb14e18314c4a4 100644 (file)
@@ -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];
        }
index 75908a1c8d5bc71d8b5ebd95f0d8d3c4fc8e33ef..aade18e7b6e3abb3cb63b15dc73750c820742462 100644 (file)
@@ -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;
        }
index 36808c51706243f1da1fd36db3f07388c4652b36..074633c925e1860b45344c0fbcd4318931c81a57 100644 (file)
@@ -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;
index 7cb86c8abd1868cb1ae53077a278dce323ede24e..316ca20667c0d59a8a9a9e47ffbe1adb560a8045 100644 (file)
@@ -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++) {
index 339ebb62322936147d0df09dd4c4bbac8794c23f..0905404db2bc39918e76690ff48e63b687c8c014 100644 (file)
@@ -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;
 
index 7aedf9b11f8d58a974f29a89f9dd1d10013cf108..d5fc01c62461ad2c1e8afaccf92d66a5940908e9 100644 (file)
@@ -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) {
index be221eab876795a4489ab6ce0721526e083c7d34..79fcee74ab57c67d43c22229d0ebed8d11475f24 100644 (file)
@@ -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;
index d479f28caec73ff9752c4eaeb2c1d19c73321def..fda09e22f77dc4bea54191c637a70ce87d8fa723 100644 (file)
@@ -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.
index 6d63010cce1e497f9bd594ddd79bfb361c98d843..f5086047721d98d920ca013c692141ed374b78a4 100644 (file)
@@ -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 */