Annotation of embedaddon/curl/tests/manpage-syntax.pl, revision 1.1.1.1
1.1 misho 1: #!/usr/bin/env perl
2: #***************************************************************************
3: # _ _ ____ _
4: # Project ___| | | | _ \| |
5: # / __| | | | |_) | |
6: # | (__| |_| | _ <| |___
7: # \___|\___/|_| \_\_____|
8: #
9: # Copyright (C) 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
10: #
11: # This software is licensed as described in the file COPYING, which
12: # you should have received as part of this distribution. The terms
13: # are also available at https://curl.haxx.se/docs/copyright.html.
14: #
15: # You may opt to use, copy, modify, merge, publish, distribute and/or sell
16: # copies of the Software, and permit persons to whom the Software is
17: # furnished to do so, under the terms of the COPYING file.
18: #
19: # This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
20: # KIND, either express or implied.
21: #
22: ###########################################################################
23: #
24: # Scan man page(s) and detect some simple and yet common formatting mistakes.
25: #
26: # Output all deviances to stderr.
27:
28: use strict;
29: use warnings;
30:
31: # we may get the dir roots pointed out
32: my @manpages=@ARGV;
33: my $errors = 0;
34:
35: sub scanmanpage {
36: my ($file) = @_;
37:
38: print "Check $file\n";
39: open(M, "<$file") || die "no such file: $file";
40: my $line = 1;
41: while(<M>) {
42: if($_ =~ /^\'/) {
43: print STDERR "$file:$line line starts with single quote!\n";
44: $errors++;
45: }
46: if($_ =~ /\\f([BI])(.*)/) {
47: my ($format, $rest) = ($1, $2);
48: if($rest !~ /\\fP/) {
49: print STDERR "$file:$line missing \\f${format} terminator!\n";
50: $errors++;
51: }
52: }
53: $line++;
54: }
55: close(M);
56: }
57:
58:
59: for my $m (@manpages) {
60: scanmanpage($m);
61: }
62:
63: exit $errors;
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>