mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-07 18:40:10 +00:00
docs: kdoc: clean up the create_parameter_list() "first arg" logic
The logic for finding the name of the first in a series of variable names is somewhat convoluted and, in the use of .extend(), actively buggy. Document what is happening and simplify the logic. Acked-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/20250814154035.328769-4-corbet@lwn.net
This commit is contained in:
@@ -553,18 +553,18 @@ class KernelDoc:
|
||||
arg = KernRe(r'\s*\[').sub('[', arg)
|
||||
args = KernRe(r'\s*,\s*').split(arg)
|
||||
args[0] = re.sub(r'(\*+)\s*', r' \1', args[0])
|
||||
|
||||
first_arg = []
|
||||
r = KernRe(r'^(.*\s+)(.*?\[.*\].*)$')
|
||||
if args[0] and r.match(args[0]):
|
||||
args.pop(0)
|
||||
first_arg.extend(r.group(1))
|
||||
first_arg.append(r.group(2))
|
||||
#
|
||||
# args[0] has a string of "type a". If "a" includes an [array]
|
||||
# declaration, we want to not be fooled by any white space inside
|
||||
# the brackets, so detect and handle that case specially.
|
||||
#
|
||||
r = KernRe(r'^([^[\]]*\s+)(.*)$')
|
||||
if r.match(args[0]):
|
||||
args[0] = r.group(2)
|
||||
dtype = r.group(1)
|
||||
else:
|
||||
first_arg = KernRe(r'\s+').split(args.pop(0))
|
||||
|
||||
args.insert(0, first_arg.pop())
|
||||
dtype = ' '.join(first_arg)
|
||||
# No space in args[0]; this seems wrong but preserves previous behavior
|
||||
dtype = ''
|
||||
|
||||
bitfield_re = KernRe(r'(.*?):(\w+)')
|
||||
for param in args:
|
||||
|
||||
Reference in New Issue
Block a user