Annotation of embedaddon/ntp/ntpdc/nl.pl, revision 1.1.1.1

1.1       misho       1: #! /usr/local/perl-5.8.8/bin/perl -w
                      2: 
                      3: $found = 0;
                      4: $last = 0;
                      5: $debug = 0;
                      6: 
                      7: while (<>) {
                      8:     next if /^#/;
                      9:     next if /^\s*$/;
                     10:     if (/^struct req_pkt/) {
                     11:        $found = 1;
                     12:     }
                     13:     if (/^struct info_dns_assoc/) {
                     14:        $last = 1;
                     15:     }
                     16:     if ($found) {
                     17:        if (/^(struct\s*\w*)\s*{\s*$/) {
                     18:            $type = $1;
                     19:            print STDERR "type = '$type'\n" if $debug;
                     20:            printf "  printf(\"sizeof($type) = %%d\\n\", \n\t (int) sizeof($type));\n";
                     21:            next;
                     22:        }
                     23:        if (/\s*\w+\s+(\w*)\s*(\[.*\])?\s*;\s*$/) {
                     24:            $field = $1;
                     25:            print STDERR "\tfield = '$field'\n" if $debug;
                     26:            printf "  printf(\"offsetof($field) = %%d\\n\", \n\t (int) offsetof($type, $field));\n";
                     27:            next;
                     28:        }
                     29:        if (/^}\s*;\s*$/) {
                     30:            printf "  printf(\"\\n\");\n\n";
                     31:            $found = 0 if $last;
                     32:            next;
                     33:        }
                     34:        print STDERR "Unmatched line: $_";
                     35:        exit 1;
                     36:     }
                     37: }

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