util/find-doc-nits: Better parsing of links
authorRichard Levitte <levitte@openssl.org>
Sat, 23 Nov 2019 20:41:35 +0000 (21:41 +0100)
committerRichard Levitte <levitte@openssl.org>
Wed, 27 Nov 2019 15:18:28 +0000 (16:18 +0100)
When checking links, we need to peal away stuff that aren't part of
the link proper first.  That makes it easier to check the link
itself.

Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/10507)

util/find-doc-nits

index 687657bf9d899468208fdd5ce82398fc083cf32d..da6e49f781a6895774d2f6d58d869a095e46cd31 100755 (executable)
@@ -450,12 +450,14 @@ sub check {
     # Make sure every link has a section.
     while ( $contents =~ /$markup_re/msg ) {
         my $target = $1;
-        next unless $target =~ /^L</;           # Skip if not L<...>, or
+        next unless $target =~ /^L<(.*)>$/;     # Skip if not L<...>
+        $target = $1;                           # Peal away L< and >
+        $target =~ s/\/[^\/]*$//;               # Peal away possible anchor
+        $target =~ s/.*\|//g;                   # Peal away possible link text
+        next if $target eq '';                  # Skip if links within page, or
         next if $target =~ /::/;                #   links to a Perl module, or
-        next if $target =~ m@L</@;              #   links within the page, or
-        next if $target =~ /^L<https?:/;        #   is a URL link, or
-        next if $target =~ m@\([1357]\)>$@;     #   it has a section, or
-        next if $target =~ m@\([1357]\)/.*>$@;  #   it has a section/anchor
+        next if $target =~ /^https?:/;          #   is a URL link, or
+        next if $target =~ /\([1357]\)$/;       #   it has a section
         err($id, "Section missing in $target")
     }
     # Check for proper links to commands.