]> CyberLeo.Net >> Repos - FreeBSD/releng/9.2.git/blob - contrib/bind9/doc/misc/sort-options.pl
- Copy stable/9 to releng/9.2 as part of the 9.2-RELEASE cycle.
[FreeBSD/releng/9.2.git] / contrib / bind9 / doc / misc / sort-options.pl
1 #!/bin/perl
2 #
3 # Copyright (C) 2007, 2012  Internet Systems Consortium, Inc. ("ISC")
4 #
5 # Permission to use, copy, modify, and/or distribute this software for any
6 # purpose with or without fee is hereby granted, provided that the above
7 # copyright notice and this permission notice appear in all copies.
8 #
9 # THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
10 # REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11 # AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
12 # INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13 # LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
14 # OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15 # PERFORMANCE OF THIS SOFTWARE.
16
17 # $Id: sort-options.pl,v 1.3 2007/09/24 23:46:48 tbox Exp $
18
19 sub sortlevel() {
20         my @options = ();
21         my $fin = "";
22         my $i = 0;
23         while (<>) {
24                 if (/^\s*};$/) {
25                         $fin = $_;
26                         # print 2, $_;
27                         last;
28                 }
29                 next if (/^$/);
30                 if (/{$/) {
31                         # print 3, $_;
32                         my $sec = $_;
33                         push(@options, $sec . sortlevel());
34                 } else {
35                         push(@options, $_);
36                         # print 1, $_;
37                 }
38                 $i++;
39         }
40         my $result = "";
41         foreach my $i (sort @options) {
42                 $result = ${result}.${i};
43                 $result = $result."\n" if ($i =~ /^[a-z]/i);
44                 # print 5, ${i};
45         }
46         $result = ${result}.${fin};
47         return ($result);
48 }
49
50 print sortlevel();