36 lines
934 B
Perl
36 lines
934 B
Perl
#!/usr/bin/perl -p
|
|
|
|
BEGIN {
|
|
%tags = ( 'a', 'BA', 'c', 'LC', 'r', 'SL', 't', 'SL');
|
|
$cond = -1;
|
|
}
|
|
|
|
# Initialize the numeric register we use for conditionals
|
|
if ($cond == -1) {
|
|
$_ = ".nr SL \@SEMAN\@\n.nr BA \@BAMAN\@\n.nr LC \@LCMAN\@\n.nr PT \@password_timeout\@\n.\\\"\n$_";
|
|
$cond = 0;
|
|
}
|
|
|
|
# Add conditionals
|
|
if (/^\.IP.*-([acrt])/) {
|
|
$_ = ".if \\n($tags{$1} \\{\\\n$_";
|
|
$cond = 1;
|
|
} elsif ($cond && /^\.(Sh|SS|IP|PP)/) {
|
|
$_ = "\\}\n$_";
|
|
$cond = 0;
|
|
}
|
|
|
|
if (/-a.*auth_type/) {
|
|
$_ = ".if \\n($tags{'a'} $_";
|
|
} elsif (/(-c.*class.*\||login_cap)/) {
|
|
$_ = ".if \\n($tags{'c'} $_";
|
|
} elsif (/-r.*role.*-t.*type/) {
|
|
$_ = ".if \\n($tags{'r'} $_";
|
|
}
|
|
|
|
# Fix up broken pod2man formatting of F<@foo@/bar>
|
|
s/\\fI\\f(\(C)?I\@([^\@]*)\\fI\@/\\fI\@$2\@/g;
|
|
|
|
# Try to deal sensibly with password_timeout being set to 0 by default
|
|
s/([^ ]*\@password_timeout\@[^ ]* minutes.$)/\n.ie \\n(PT $1\n.el unlimited./;
|