scripts/kernel-doc: separate out function signature
BugLink: https://bugs.launchpad.net/bugs/2101915 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 (cherry picked from commit d3c55a710f95e11e2369a57cb53d4a7f3280aa57) [koichiroden: prereq for "kernel-doc: allow object-like macros in ReST output"] Signed-off-by: Koichiro Den <koichiro.den@canonical.com> Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
This commit is contained in:
committed by
Stefan Bader
parent
8633e8a421
commit
397ebb22cc
+28
-21
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user