summaryrefslogtreecommitdiff
path: root/scripts/kernel-doc
diff options
context:
space:
mode:
authorVegard Nossum <vegard.nossum@oracle.com>2024-02-15 14:48:26 +0100
committerJonathan Corbet <corbet@lwn.net>2024-02-21 13:44:21 -0700
commitd3c55a710f95e11e2369a57cb53d4a7f3280aa57 (patch)
tree281ad08d619da03d7e4713212b26cef1e7bf511f /scripts/kernel-doc
parente8ebb853eb5751168cfd87c706fb1c38e053d4fb (diff)
downloadlwn-d3c55a710f95e11e2369a57cb53d4a7f3280aa57.tar.gz
lwn-d3c55a710f95e11e2369a57cb53d4a7f3280aa57.zip
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
Diffstat (limited to 'scripts/kernel-doc')
-rwxr-xr-xscripts/kernel-doc49
1 files changed, 28 insertions, 21 deletions
diff --git a/scripts/kernel-doc b/scripts/kernel-doc
index 9b7441e77669..1af2c68f6bd8 100755
--- a/scripts/kernel-doc
+++ b/scripts/kernel-doc
@@ -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);