This file is indexed.

/usr/bin/pnmquant is in netpbm 2:10.0-15ubuntu2.

This file is owned by root:root, with mode 0o755.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
#!/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);
		}
	}
}