scripts/kernel-doc: separate out function signature
Format the entire function signature and place it in a separate variable; this both makes it easier to understand what these lines of code are doing and will allow us to simplify the code further in the following patch. No functional change. Signed-off-by: Vegard Nossum <vegard.nossum@oracle.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/20240215134828.1277109-4-vegard.nossum@oracle.com
This commit is contained in:
parent
e8ebb853eb
commit
d3c55a710f
@ -822,6 +822,31 @@ sub output_function_rst(%) {
|
||||
my $oldprefix = $lineprefix;
|
||||
my $is_macro = 0;
|
||||
|
||||
my $signature = "";
|
||||
if ($args{'functiontype'} ne "") {
|
||||
$signature = $args{'functiontype'} . " " . $args{'function'} . " (";
|
||||
} else {
|
||||
$signature = $args{'function'} . " (";
|
||||
}
|
||||
|
||||
my $count = 0;
|
||||
foreach my $parameter (@{$args{'parameterlist'}}) {
|
||||
if ($count ne 0) {
|
||||
$signature .= ", ";
|
||||
}
|
||||
$count++;
|
||||
$type = $args{'parametertypes'}{$parameter};
|
||||
|
||||
if ($type =~ m/$function_pointer/) {
|
||||
# pointer-to-function
|
||||
$signature .= $1 . $parameter . ") (" . $2 . ")";
|
||||
} else {
|
||||
$signature .= $type;
|
||||
}
|
||||
}
|
||||
|
||||
$signature .= ")";
|
||||
|
||||
if ($sphinx_major < 3) {
|
||||
if ($args{'typedef'}) {
|
||||
print ".. c:type:: ". $args{'function'} . "\n\n";
|
||||
@ -852,31 +877,13 @@ sub output_function_rst(%) {
|
||||
print "``" if ($is_macro);
|
||||
}
|
||||
}
|
||||
if ($args{'functiontype'} ne "") {
|
||||
print $args{'functiontype'} . " " . $args{'function'} . " (";
|
||||
} else {
|
||||
print $args{'function'} . " (";
|
||||
}
|
||||
|
||||
my $count = 0;
|
||||
foreach my $parameter (@{$args{'parameterlist'}}) {
|
||||
if ($count ne 0) {
|
||||
print ", ";
|
||||
}
|
||||
$count++;
|
||||
$type = $args{'parametertypes'}{$parameter};
|
||||
print $signature;
|
||||
|
||||
if ($type =~ m/$function_pointer/) {
|
||||
# pointer-to-function
|
||||
print $1 . $parameter . ") (" . $2 . ")";
|
||||
} else {
|
||||
print $type;
|
||||
}
|
||||
}
|
||||
if ($is_macro) {
|
||||
print ")``\n\n";
|
||||
print "``\n\n";
|
||||
} else {
|
||||
print ")\n\n";
|
||||
print "\n\n";
|
||||
}
|
||||
if (!$args{'typedef'}) {
|
||||
print_lineno($declaration_start_line);
|
||||
|
Loading…
x
Reference in New Issue
Block a user