ShellBanner
System:Linux MiraNet 3.0.0-14-generic-pae #23-Ubuntu SMP Mon Nov 21 22:07:10 UTC 2011 i686
Software:Apache. PHP/5.3.6-13ubuntu3.10
ID:uid=65534(nobody) gid=65534(nogroup) groups=65534(nogroup)
Safe Mode:OFF
Open_Basedir:OFF
Freespace:27.58 GB of 70.42 GB (39.17%)
MySQL: ON MSSQL: OFF Oracle: OFF PostgreSQL: OFF Curl: OFF Sockets: ON Fetch: OFF Wget: ON Perl: ON
Disabled Functions: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,

/ usr/ src/ linux-headers-3.0.0-14-generic-pae/ scripts/ - drwxr-xr-x

Directory:
Viewing file:     checkincludes.pl (1.77 KB)      -rwxr-xr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#!/usr/bin/perl
#
# checkincludes: find/remove files included more than once
#
# Copyright abandoned, 2000, Niels Kristian Bech Jensen <nkbj@image.dk>.
# Copyright 2009 Luis R. Rodriguez <mcgrof@gmail.com>
#
# This script checks for duplicate includes. It also has support
# to remove them in place. Note that this will not take into
# consideration macros so you should run this only if you know
# you do have real dups and do not have them under #ifdef's. You
# could also just review the results.

use strict;

sub usage {
    print "Usage: checkincludes.pl [-r]\n";
    print "By default we just warn of duplicates\n";
    print "To remove duplicated includes in place use -r\n";
    exit 1;
}

my $remove = 0;

if ($#ARGV < 0) {
    usage();
}

if ($#ARGV >= 1) {
    if ($ARGV[0] =~ /^-/) {
        if ($ARGV[0] eq "-r") {
            $remove = 1;
            shift;
        } else {
            usage();
        }
    }
}

foreach my $file (@ARGV) {
    open(my $f, '<', $file)
        or die "Cannot open $file: $!.\n";

    my %includedfiles = ();
    my @file_lines = ();

    while (<$f>) {
        if (m/^\s*#\s*include\s*[<"](\S*)[>"]/o) {
            ++$includedfiles{$1};
        }
        push(@file_lines, $_);
    }

    close($f);

    if (!$remove) {
        foreach my $filename (keys %includedfiles) {
            if ($includedfiles{$filename} > 1) {
                print "$file: $filename is included more than once.\n";
            }
        }
        next;
    }

    open($f, '>', $file)
        or die("Cannot write to $file: $!");

    my $dups = 0;
    foreach (@file_lines) {
        if (m/^\s*#\s*include\s*[<"](\S*)[>"]/o) {
            foreach my $filename (keys %includedfiles) {
                if ($1 eq $filename) {
                    if ($includedfiles{$filename} > 1) {
                        $includedfiles{$filename}--;
                        $dups++;
                    } else {
                        print {$f} $_;
                    }
                }
            }
        } else {
            print {$f} $_;
        }
    }
    if ($dups > 0) {
        print "$file: removed $dups duplicate includes\n";
    }
    close($f);
}
Command:
Quick Commands:
Upload:
[Read-Only] Max size: 100MB
PHP Filesystem: <@ Ú
Search File:
regexp
Create File:
Overwrite [Read-Only]
View File:
Mass Defacement:
[+] Main Directory: [+] Defacement Url:
LmfaoX Shell - Private Build [BETA] - v0.1 -; Generated: 0.7533 seconds