diff --git a/include/ipmitool/helper.h b/include/ipmitool/helper.h index 1f3ee3e..9d92ede 100644 --- a/include/ipmitool/helper.h +++ b/include/ipmitool/helper.h @@ -38,6 +38,8 @@ #include #include +#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0])) + #ifndef TRUE #define TRUE 1 #endif diff --git a/include/ipmitool/ipmi_pef.h b/include/ipmitool/ipmi_pef.h index 42e2ddb..a832507 100644 --- a/include/ipmitool/ipmi_pef.h +++ b/include/ipmitool/ipmi_pef.h @@ -327,8 +327,7 @@ pef_b2s_generic_ER[] __attribute__((unused)) = { &pef_b2s_gentype_11, &pef_b2s_gentype_12, }; -#define PEF_B2S_GENERIC_ER_ENTRIES \ - (sizeof(pef_b2s_generic_ER) / sizeof(pef_b2s_generic_ER[0])) +#define PEF_B2S_GENERIC_ER_ENTRIES ARRAY_SIZE(pef_b2s_generic_ER) #ifdef HAVE_PRAGMA_PACK #pragma pack(1) diff --git a/lib/ipmi_fru.c b/lib/ipmi_fru.c index 20509d1..05626bb 100644 --- a/lib/ipmi_fru.c +++ b/lib/ipmi_fru.c @@ -898,6 +898,7 @@ fru_area_print_chassis(struct ipmi_intf * intf, struct fru_info * fru, uint8_t * fru_data; uint32_t fru_len, i; uint8_t tmp[2]; + size_t chassis_type; fru_len = 0; @@ -931,10 +932,10 @@ fru_area_print_chassis(struct ipmi_intf * intf, struct fru_info * fru, */ i = 2; - printf(" Chassis Type : %s\n", - chassis_type_desc[fru_data[i] > - (sizeof(chassis_type_desc)/sizeof(chassis_type_desc[0])) - 1 ? - 2 : fru_data[i]]); + chassis_type = (fru_data[i] > ARRAY_SIZE(chassis_type_desc) - 1) + ? 2 + : fru_data[i]; + printf(" Chassis Type : %s\n", chassis_type_desc[chassis_type]); i++; diff --git a/lib/ipmi_lanp6.c b/lib/ipmi_lanp6.c index bbffb89..7ede272 100644 --- a/lib/ipmi_lanp6.c +++ b/lib/ipmi_lanp6.c @@ -1027,9 +1027,7 @@ static void lanp_print_usage(int cmd) printf("\n available parameters:\n"); /* 'save' shall use 'write' filter, since it outputs a block * of 'set's */ - ipmi_cfgp_usage(lan_cfgp, - sizeof(lan_cfgp)/sizeof(lan_cfgp[0]), - cmd != LANP_CMD_PRINT); + ipmi_cfgp_usage(lan_cfgp, ARRAY_SIZE(lan_cfgp), cmd != LANP_CMD_PRINT); } } @@ -1161,8 +1159,8 @@ ipmi_lan6_main(struct ipmi_intf *intf, int argc, char **argv) */ ipmi_cfgp_init(&ctx, lan_cfgp, - sizeof(lan_cfgp)/sizeof(lan_cfgp[0]), "lan6 set nolock", - lanp_ip6_cfgp, &lp); + ARRAY_SIZE(lan_cfgp), "lan6 set nolock", + lanp_ip6_cfgp, &lp); ret = ipmi_cfgp_parse_sel(&ctx, argc, (const char **)argv, &sel); if (ret == -1) { diff --git a/src/plugins/serial/serial_basic.c b/src/plugins/serial/serial_basic.c index ba30814..df13aac 100644 --- a/src/plugins/serial/serial_basic.c +++ b/src/plugins/serial/serial_basic.c @@ -241,12 +241,12 @@ serial_bm_open(struct ipmi_intf * intf) return -1; } - for (i = 0; i < sizeof(rates) / sizeof(rates[0]); i++) { + for (i = 0; i < ARRAY_SIZE(rates); i++) { if (rates[i].baudrate == rate) { break; } } - if (i >= sizeof(rates) / sizeof(rates[0])) { + if (i >= ARRAY_SIZE(rates)) { lprintf(LOG_ERR, "Unsupported baud rate %i specified", rate); return -1; } diff --git a/src/plugins/serial/serial_terminal.c b/src/plugins/serial/serial_terminal.c index 20ce393..55f7e43 100644 --- a/src/plugins/serial/serial_terminal.c +++ b/src/plugins/serial/serial_terminal.c @@ -149,7 +149,7 @@ ipmi_serial_term_open(struct ipmi_intf * intf) struct termios ti; unsigned int rate = 9600; char *p; - int i; + size_t i; if (!intf->devfile) { lprintf(LOG_ERR, "Serial device is not specified"); @@ -188,12 +188,12 @@ ipmi_serial_term_open(struct ipmi_intf * intf) return -1; } - for (i = 0; i < sizeof(rates) / sizeof(rates[0]); i++) { + for (i = 0; i < ARRAY_SIZE(rates); i++) { if (rates[i].baudrate == rate) { break; } } - if (i >= sizeof(rates) / sizeof(rates[0])) { + if (i >= ARRAY_SIZE(rates)) { lprintf(LOG_ERR, "Unsupported baud rate %i specified", rate); return -1; }