Annotation of XNU/bsd/miscfs/devfs/reproto.sh, revision 1.1

1.1     ! root        1: #!/bin/sh
        !             2: #
        !             3: # This used to be a shell script, but had to become more sophisticated
        !             4: # to allow for KNF function definitions.  So rewrote in perl, but wrapped
        !             5: # as a shell script.
        !             6: #
        !             7: exec /usr/bin/perl << *EOF*
        !             8: open(PROTO, ">devfs_proto.h") || die "Cannot open devfs_proto.h\n";
        !             9: 
        !            10: print PROTO "/* THIS FILE HAS BEEN PRODUCED AUTOMATICALLY */\n";
        !            11: 
        !            12: while (\$file = <*.c>) {
        !            13:     if(open(F, \$file) == 0) {
        !            14:        warn "Cannot open \$file.\n";
        !            15:        next;
        !            16:     }
        !            17: 
        !            18:     while(<F>) {
        !            19:        chop;
        !            20:        if (m|/\*proto\*/|) {
        !            21:            \$collecting = 1;
        !            22:            \$idx = 0;
        !            23:        } elsif (\$collecting) {
        !            24:            if (/^{/) {
        !            25:                \$text[\$idx - 1] .= ';';
        !            26:                for (\$i = 0; \$i < \$idx; \$i++) {
        !            27:                    print PROTO "\$text[\$i]";
        !            28:                    print PROTO \$i == 0? "\t": "\n";
        !            29:                }
        !            30:                \$collecting = 0;
        !            31:                next;
        !            32:            }
        !            33:            \$text[\$idx++] = \$_;
        !            34:        }
        !            35:     }
        !            36:     close F;
        !            37: }
        !            38: 
        !            39: print PROTO  "/* THIS FILE PRODUCED AUTOMATICALLY */\n" .
        !            40:     "/* DO NOT EDIT (see reproto.sh) */\n";
        !            41: 
        !            42: *EOF*

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.