Doc nits cleanup, round 2
[openssl.git] / util / doc-nit-check.pl
index f1a7af85ec85481f06ed4b90c88dad63091c1bda..3cf260bd28fd75e79cc8d2269407e5c5d1f25bd8 100644 (file)
@@ -1,4 +1,11 @@
 #! /usr/bin/env perl
+# Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved.
+#
+# Licensed under the OpenSSL license (the "License").  You may not use
+# this file except in compliance with the License.  You can obtain a copy
+# in the file LICENSE in the source distribution or at
+# https://www.openssl.org/source/license.html
+
 
 require 5.10.0;
 use warnings;
@@ -6,10 +13,11 @@ use strict;
 use Pod::Checker;
 use File::Find;
 
+my $temp = '/tmp/docnits.txt';
+my $OUT;
+
 sub check()
 {
-    my $errs = 0;
-    
     my $contents = '';
     {
         local $/ = undef;
@@ -17,26 +25,38 @@ sub check()
         $contents = <POD>;
         close POD;
     }
-    if ( $contents !~ /^=pod/ ) {
-        print "$_ doesn't start with =pod\n";
-        return 1;
-    }
-    if ( $contents !~ /=cut\n$/ ) {
-        print "$_ doesn't end with =cut\n";
-        return 1;
-    }
-    if ( $contents !~ /Copyright .* The OpenSSL Project Authors/ ) {
-        print "$_ missing copyright\n";
-        return 1;
-    }
+    print $OUT "$_ doesn't start with =pod\n"
+        if $contents !~ /^=pod/;
+    print $OUT "$_ doesn't end with =cut\n"
+        if $contents !~ /=cut\n$/;
+    print $OUT "$_ more than one cut line.\n"
+        if $contents =~ /=cut.*=cut/ms;
+    print $OUT "$_ missing copyright\n"
+        if $contents !~ /Copyright .* The OpenSSL Project Authors/;
+    print $OUT "$_ copyright not last\n"
+        if $contents =~ /head1 COPYRIGHT.*=head/ms;
+    print $OUT "$_ head2 in All uppercase\n"
+        if $contents =~ /head2.*[A-Z ]+\n/;
+
+    podchecker($_, $OUT);
+}
 
-    $errs = podchecker($_, \*STDOUT);
-    $errs = 1 if $errs < 0;
-    return $errs;
+open $OUT, '>', $temp
+    or die "Can't open $temp, $!";
+foreach (@ARGV ? @ARGV : glob('*/*.pod')) {
+    &check($_);
 }
+close $OUT;
 
-my $errs = 0;
-foreach (glob('*/*.pod')) {
-    $errs += &check($_);
+my $count = 0;
+open $OUT, '<', $temp
+    or die "Can't read $temp, $!";
+while ( <$OUT> ) {
+    next if /\(section\) in.*deprecated/;
+    $count++;
+    print;
 }
-exit $errs;
+close $OUT;
+unlink $temp || warn "Can't remove $temp, $!";
+
+exit $count;