scripts/kernel-doc: simplify signature printing
authorVegard Nossum <vegard.nossum@oracle.com>
Thu, 15 Feb 2024 13:48:27 +0000 (14:48 +0100)
committerJonathan Corbet <corbet@lwn.net>
Wed, 21 Feb 2024 20:44:21 +0000 (13:44 -0700)
Untangle some of the $is_macro logic and the nested conditionals.

This makes it easier to see where and how the signature is actually
printed.

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-5-vegard.nossum@oracle.com
scripts/kernel-doc

index 1af2c68f6bd8eb53883bf45bd84b354cad07eca6..7acb7554abb9c5c8080fc5f687024f508e960012 100755 (executable)
@@ -820,7 +820,6 @@ sub output_function_rst(%) {
     my %args = %{$_[0]};
     my ($parameter, $section);
     my $oldprefix = $lineprefix;
-    my $is_macro = 0;
 
     my $signature = "";
     if ($args{'functiontype'} ne "") {
@@ -854,37 +853,30 @@ sub output_function_rst(%) {
             print "   **Typedef**: ";
             $lineprefix = "";
             output_highlight_rst($args{'purpose'});
-            print "\n\n**Syntax**\n\n  ``";
-            $is_macro = 1;
+            print "\n\n**Syntax**\n\n";
+            print "  ``$signature``\n\n";
         } else {
-            print ".. c:function:: ";
+            print ".. c:function:: $signature\n\n";
         }
     } else {
         if ($args{'typedef'} || $args{'functiontype'} eq "") {
-            $is_macro = 1;
             print ".. c:macro:: ". $args{'function'} . "\n\n";
-        } else {
-            print ".. c:function:: ";
-        }
 
-        if ($args{'typedef'}) {
-            print_lineno($declaration_start_line);
-            print "   **Typedef**: ";
-            $lineprefix = "";
-            output_highlight_rst($args{'purpose'});
-            print "\n\n**Syntax**\n\n  ``";
+            if ($args{'typedef'}) {
+                print_lineno($declaration_start_line);
+                print "   **Typedef**: ";
+                $lineprefix = "";
+                output_highlight_rst($args{'purpose'});
+                print "\n\n**Syntax**\n\n";
+                print "  ``$signature``\n\n";
+            } else {
+                print "``$signature``\n\n";
+            }
         } else {
-            print "``" if ($is_macro);
+            print ".. c:function:: $signature\n\n";
         }
     }
 
-    print $signature;
-
-    if ($is_macro) {
-        print "``\n\n";
-    } else {
-        print "\n\n";
-    }
     if (!$args{'typedef'}) {
         print_lineno($declaration_start_line);
         $lineprefix = "   ";