mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-07 21:53:44 +00:00
tools: ynl: create local ARRAY_SIZE() helper
libc doesn't have an ARRAY_SIZE() create one locally. Acked-by: Nicolas Dichtel <nicolas.dichtel@6wind.com> Link: https://lore.kernel.org/r/20240227223032.1835527-6-kuba@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
0b3ece4422
commit
7600875f29
@ -27,6 +27,9 @@ enum ynl_policy_type {
|
||||
YNL_PT_BITFIELD32,
|
||||
};
|
||||
|
||||
#define YNL_ARRAY_SIZE(array) (sizeof(array) ? \
|
||||
sizeof(array) / sizeof(array[0]) : 0)
|
||||
|
||||
struct ynl_policy_attr {
|
||||
enum ynl_policy_type type;
|
||||
unsigned int len;
|
||||
|
@ -1535,7 +1535,7 @@ def _put_enum_to_str_helper(cw, render_name, map_name, arg_name, enum=None):
|
||||
cw.block_start()
|
||||
if enum and enum.type == 'flags':
|
||||
cw.p(f'{arg_name} = ffs({arg_name}) - 1;')
|
||||
cw.p(f'if ({arg_name} < 0 || {arg_name} >= (int)MNL_ARRAY_SIZE({map_name}))')
|
||||
cw.p(f'if ({arg_name} < 0 || {arg_name} >= (int)YNL_ARRAY_SIZE({map_name}))')
|
||||
cw.p('return NULL;')
|
||||
cw.p(f'return {map_name}[{arg_name}];')
|
||||
cw.block_end()
|
||||
@ -2569,7 +2569,7 @@ def render_user_family(family, cw, prototype):
|
||||
cw.p('.hdr_len\t= sizeof(struct genlmsghdr),')
|
||||
if family.ntfs:
|
||||
cw.p(f".ntf_info\t= {family['name']}_ntf_info,")
|
||||
cw.p(f".ntf_info_size\t= MNL_ARRAY_SIZE({family['name']}_ntf_info),")
|
||||
cw.p(f".ntf_info_size\t= YNL_ARRAY_SIZE({family['name']}_ntf_info),")
|
||||
cw.block_end(line=';')
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user