kernel-doc: fix param matching for array params
Fix function actual parameter vs. kernel-doc description matching so that a warning is not printed when it should not be: Warning(include/linux/etherdevice.h:199): Excess function parameter 'addr' description in 'is_etherdev_addr' Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
This commit is contained in:
Родитель
b2fd6dbf25
Коммит
e34e7dbb35
|
@ -1653,6 +1653,15 @@ sub push_parameter($$$) {
|
|||
}
|
||||
}
|
||||
|
||||
# strip spaces from $param so that it is one continous string
|
||||
# on @parameterlist;
|
||||
# this fixes a problem where check_sections() cannot find
|
||||
# a parameter like "addr[6 + 2]" because it actually appears
|
||||
# as "addr[6", "+", "2]" on the parameter list;
|
||||
# but it's better to maintain the param string unchanged for output,
|
||||
# so just weaken the string compare in check_sections() to ignore
|
||||
# "[blah" in a parameter string;
|
||||
###$param =~ s/\s*//g;
|
||||
push @parameterlist, $param;
|
||||
$parametertypes{$param} = $type;
|
||||
}
|
||||
|
@ -1671,6 +1680,14 @@ sub check_sections($$$$$$) {
|
|||
$prm_clean = $prms[$px];
|
||||
$prm_clean =~ s/\[.*\]//;
|
||||
$prm_clean =~ s/__attribute__\s*\(\([a-z,_\*\s\(\)]*\)\)//;
|
||||
# ignore array size in a parameter string;
|
||||
# however, the original param string may contain
|
||||
# spaces, e.g.: addr[6 + 2]
|
||||
# and this appears in @prms as "addr[6" since the
|
||||
# parameter list is split at spaces;
|
||||
# hence just ignore "[..." for the sections check;
|
||||
$prm_clean =~ s/\[.*//;
|
||||
|
||||
##$prm_clean =~ s/^\**//;
|
||||
if ($prm_clean eq $sects[$sx]) {
|
||||
$err = 0;
|
||||
|
|
Загрузка…
Ссылка в новой задаче