Commit d3c55a71 authored by Vegard Nossum's avatar Vegard Nossum Committed by Jonathan Corbet

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: default avatarVegard Nossum <vegard.nossum@oracle.com>
Signed-off-by: default avatarJonathan Corbet <corbet@lwn.net>
Link: https://lore.kernel.org/r/20240215134828.1277109-4-vegard.nossum@oracle.com
parent e8ebb853
......@@ -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);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment