diff options
Diffstat (limited to 'editor')
-rwxr-xr-x | editor/pnmmargin | 8 | ||||
-rwxr-xr-x | editor/pnmquant | 19 | ||||
-rwxr-xr-x | editor/pnmquantall | 15 | ||||
-rwxr-xr-x | editor/ppmfade | 16 | ||||
-rwxr-xr-x | editor/ppmshadow | 38 |
5 files changed, 84 insertions, 12 deletions
diff --git a/editor/pnmmargin b/editor/pnmmargin index 0f57d1d4..9dbe24b7 100755 --- a/editor/pnmmargin +++ b/editor/pnmmargin @@ -11,9 +11,8 @@ # documentation. This software is provided "as is" without express or # implied warranty. -tempdir="${TMPDIR-/tmp}/pnmmargin.$$" -mkdir -m 0700 $tempdir || \ - { echo "Could not create temporary file. Exiting." 1>&2; exit 1;} +tempdir=$(mktemp -d "${TMPDIR:-/tmp}/netpbm.XXXXXXXX") || + ( echo "Could not create temporary file. Exiting." 1>&2; exit 1; ) trap 'rm -rf $tempdir' 0 1 3 15 tmp1=$tempdir/pnmm1 @@ -27,6 +26,9 @@ plainopt="" # Parse args. while true ; do case "$1" in + -version|--version ) + pnmpad --version; exit $?; + ;; -p|-pl|-pla|-plai|-plain ) plainopt="-plain" shift diff --git a/editor/pnmquant b/editor/pnmquant index 93d452cd..35a75e96 100755 --- a/editor/pnmquant +++ b/editor/pnmquant @@ -42,6 +42,21 @@ my ($TRUE, $FALSE) = (1,0); my ($SEEK_SET, $SEEK_CUR, $SEEK_END) = (0, 1, 2); + + +sub doVersionHack($) { + my ($argvR) = @_; + + my $arg1 = $argvR->[0]; + + if (defined($arg1) && (($arg1 eq "--version") || ($arg1 eq "-version"))) { + my $termStatus = system('pnmcolormap', '--version'); + exit($termStatus == 0 ? 0 : 1); + } +} + + + sub tempFile($) { # We trust Perl's File::Temp to do a better job of creating the temp @@ -93,7 +108,7 @@ sub parseCommandLine(@) { scalar(@ARGV), "\n"); exit(1); } - if (@ARGV < 1) { + elsif (@ARGV < 1) { print(STDERR "You must specify the number of colors as an argument.\n"); exit(1); @@ -267,6 +282,8 @@ sub remap($$$$) { # MAIN PROGRAM ############################################################################## +doVersionHack(\@ARGV); + my $cmdlineR = parseCommandLine(@ARGV); openSeekableAsStdin($cmdlineR->{infile}); diff --git a/editor/pnmquantall b/editor/pnmquantall index 0890383e..844fc13d 100755 --- a/editor/pnmquantall +++ b/editor/pnmquantall @@ -61,6 +61,19 @@ my $TRUE=1; my $FALSE = 0; +sub doVersionHack($) { + my ($argvR) = @_; + + my $arg1 = $argvR->[0]; + + if (defined($arg1) && (($arg1 eq "--version") || ($arg1 eq "-version"))) { + my $termStatus = system('pnmcolormap', '--version'); + exit($termStatus == 0 ? 0 : 1); + } +} + + + sub parseArgs($$$$) { my ($argvR, $extR, $newColorCtR, $fileNamesR) = @_; @@ -179,6 +192,8 @@ sub remapFiles($$$$) { my $progError; +doVersionHack(\@ARGV); + parseArgs(\@ARGV, \my $ext, \my $newColorCt, \my @fileNames); my ($colorMapFh, $colorMapFileName) = tempFile("pnm"); diff --git a/editor/ppmfade b/editor/ppmfade index 027fc793..dcd7bf26 100755 --- a/editor/ppmfade +++ b/editor/ppmfade @@ -41,6 +41,19 @@ exec perl -w -x -S -- "$0" "$@" ############################################################################## use strict; +sub doVersionHack($) { + my ($argvR) = @_; + + my $arg1 = $argvR->[0]; + + if (defined($arg1) && (($arg1 eq "--version") || ($arg1 eq "-version"))) { + my $termStatus = system('ppmmix', '--version'); + exit($termStatus == 0 ? 0 : 1); + } +} + + + my $SPREAD = 1; my $SHIFT = 2; my $RELIEF = 3; @@ -59,6 +72,7 @@ my $base_name = "fade"; # default base name of output files my $image = "ppm"; # default output storage format my $mode = $SPREAD; # default fading mode +doVersionHack(\@ARGV); my $n; # argument number @@ -98,8 +112,6 @@ for ($n = 0; $n < @ARGV; $n++) { $mode = $BLOCK; } elsif ("$ARGV[$n]" eq "-mix") { $mode = $MIX; - } elsif ($ARGV[$n] eq "-help" || $ARGV[$n] eq "-h") { - usage(); } else { print "Unknown argument: $ARGV[$n]\n"; exit 100; diff --git a/editor/ppmshadow b/editor/ppmshadow index 62cdf8b8..87ccd292 100755 --- a/editor/ppmshadow +++ b/editor/ppmshadow @@ -48,6 +48,7 @@ exec perl -w -x -S -- "$0" "$@" ############################################################################## use strict; +use File::Temp; require 5.0; # The good open() syntax, with the mode separate from the file name, # came after 5.0. So did mkdir() with default mode. @@ -55,6 +56,20 @@ require 5.0; my $true=1; my $false=0; + +sub doVersionHack($) { + my ($argvR) = @_; + + my $arg1 = $argvR->[0]; + + if (defined($arg1) && (($arg1 eq "--version") || ($arg1 eq "-version"))) { + my $termStatus = system('pamarith', '--version'); + exit($termStatus == 0 ? 0 : 1); + } +} + + + sub getDimensions($) { my ($fileName) = @_; #----------------------------------------------------------------------------- @@ -95,15 +110,10 @@ sub makeConvolutionKernel($$) { # MAINLINE ############################################################################## - -my $tmpdir = $ENV{TMPDIR} || "/tmp"; -my $ourtmp = "$tmpdir/ppmshadow$$"; -mkdir($ourtmp, 0777) or - die("Unable to create directory for temporary files '$ourtmp"); +doVersionHack(\@ARGV); # Process command line options - my $ifile; # Input file name my ($xoffset, $yoffset); @@ -113,6 +123,7 @@ my $translucent = $false; # Default not translucent while (@ARGV) { my $arg = shift; + if ((substr($arg, 0, 1) eq '-') && (length($arg) > 1)) { my $opt; $opt = substr($arg, 1, 1); @@ -142,6 +153,8 @@ while (@ARGV) { if ($yoffset < 0) { $yoffset = -$xoffset; } + } else { + die("Unknown option '$opt'\n"); } } else { if (defined $ifile) { @@ -151,6 +164,19 @@ while (@ARGV) { } } +# Create temporary directory + +my $tmpdir = $ENV{TMPDIR} || "/tmp"; +my $ourtmp; + +if ($keeptemp) { + $ourtmp = "$tmpdir/ppmshadow$$"; + mkdir($ourtmp, 0777) or + die("Unable to create directory for temporary files '$ourtmp"); +} else { + $ourtmp = File::Temp::tempdir("$tmpdir/ppmrainbowXXXX", UNLINK=>1); +} + # Apply defaults for arguments not specified if (!(defined $xoffset)) { |