File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / sudo / doc / sudo.man.pl
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 16:23:02 2012 UTC (12 years, 4 months ago) by misho
Branches: sudo, MAIN
CVS tags: v1_8_5p1, v1_8_3p2, HEAD
sudo

    1: #!/usr/bin/perl -p
    2: 
    3: BEGIN {
    4:     %tags = ( 'a', 'BA', 'c', 'LC', 'r', 'SL', 't', 'SL');
    5:     $cond = -1;
    6: }
    7: 
    8: # Initialize the numeric register we use for conditionals
    9: if ($cond == -1) {
   10:     $_ = ".nr SL \@SEMAN\@\n.nr BA \@BAMAN\@\n.nr LC \@LCMAN\@\n.nr PT \@password_timeout\@\n.\\\"\n$_";
   11:     $cond = 0;
   12: }
   13: 
   14: # Add conditionals
   15: if (/^\.IP.*-([acrt])/) {
   16:     $_ = ".if \\n($tags{$1} \\{\\\n$_";
   17:     $cond = 1;
   18: } elsif ($cond && /^\.(Sh|SS|IP|PP)/) {
   19:     $_ = "\\}\n$_";
   20:     $cond = 0;
   21: }
   22: 
   23: if (/-a.*auth_type/) {
   24:     $_ = ".if \\n($tags{'a'} $_";
   25: } elsif (/(-c.*class.*\||login_cap)/) {
   26:     $_ = ".if \\n($tags{'c'} $_";
   27: } elsif (/-r.*role.*-t.*type/) {
   28:     $_ = ".if \\n($tags{'r'} $_";
   29: }
   30: 
   31: # Fix up broken pod2man formatting of F<@foo@/bar>
   32: s/\\fI\\f(\(C)?I\@([^\@]*)\\fI\@/\\fI\@$2\@/g;
   33: 
   34: # Try to deal sensibly with password_timeout being set to 0 by default
   35: s/([^ ]*\@password_timeout\@[^ ]* minutes.$)/\n.ie \\n(PT $1\n.el unlimited./;

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>