about summary refs log tree commit diff
path: root/other
diff options
context:
space:
mode:
authorgiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2014-03-06 16:48:42 +0000
committergiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2014-03-06 16:48:42 +0000
commit17482428da05480ffd47461084e51e38cd8ea8b2 (patch)
tree979358515bbc425ca7ced5208cda3dbbabffa2d1 /other
parent10b4a4c36092739a5ae9a91c04a67f36cfbb0b53 (diff)
downloadnetpbm-mirror-17482428da05480ffd47461084e51e38cd8ea8b2.tar.gz
netpbm-mirror-17482428da05480ffd47461084e51e38cd8ea8b2.tar.xz
netpbm-mirror-17482428da05480ffd47461084e51e38cd8ea8b2.zip
Rename Pamfixtrunc to Pamfix
git-svn-id: http://svn.code.sf.net/p/netpbm/code/trunk@2154 9d0c8265-081b-0410-96cb-a4ca84ce46f8
Diffstat (limited to 'other')
-rw-r--r--other/Makefile4
-rw-r--r--other/pamfix.c (renamed from other/pamfixtrunc.c)0
-rwxr-xr-xother/pamfixtrunc50
3 files changed, 52 insertions, 2 deletions
diff --git a/other/Makefile b/other/Makefile
index 1c25d6a6..23e60bc1 100644
--- a/other/Makefile
+++ b/other/Makefile
@@ -24,7 +24,7 @@ endif
 # build.
 
 PORTBINARIES = pamarith pambayer pamchannel pamdepth \
-	pamendian pamexec pamfixtrunc pamlookup pampick pamsplit \
+	pamendian pamexec pamfix pamlookup pampick pamsplit \
 	pamstack pamsummcol pnmcolormap \
 	ppmdcfont ppmddumpfont ppmdmkfont 
 
@@ -34,7 +34,7 @@ ifneq ($(LINUXSVGALIB),NONE)
   BINARIES += ppmsvgalib
 endif
 
-SCRIPTS = ppmtomap
+SCRIPTS = ppmtomap pamfixtrunc
 
 OBJECTS = $(BINARIES:%=%.o)
 
diff --git a/other/pamfixtrunc.c b/other/pamfix.c
index 8db67e08..8db67e08 100644
--- a/other/pamfixtrunc.c
+++ b/other/pamfix.c
diff --git a/other/pamfixtrunc b/other/pamfixtrunc
new file mode 100755
index 00000000..1aa3ff94
--- /dev/null
+++ b/other/pamfixtrunc
@@ -0,0 +1,50 @@
+#!/bin/sh
+
+##############################################################################
+# This is essentially a Perl program.  We exec the Perl interpreter specifying
+# this same file as the Perl program and use the -x option to cause the Perl
+# interpreter to skip down to the Perl code.  The reason we do this instead of
+# just making /usr/bin/perl the script interpreter (instead of /bin/sh) is
+# that the user may have multiple Perl interpreters and the one he wants to
+# use is properly located in the PATH.  The user's choice of Perl interpreter
+# may be crucial, such as when the user also has a PERL5LIB environment
+# variable and it selects modules that work with only a certain main
+# interpreter program.
+#
+# An alternative some people use is to have /usr/bin/env as the script
+# interpreter.  We don't do that because we think the existence and
+# compatibility of /bin/sh is more reliable.
+#
+# Note that we aren't concerned about efficiency because the user who needs
+# high efficiency can use directly the programs that this program invokes.
+#
+##############################################################################
+
+exec perl -w -x -S -- "$0" "$@"
+
+#!/usr/bin/perl
+##############################################################################
+#  This is nothing but a compatibility interface for Pamfixtrunc.
+#  An old program coded to call Pamfixtrunc will continue working because
+#  this interface exists.  All new (or newly modified) programs should
+#  call Pamfix instead.
+##############################################################################
+
+use strict;
+use File::Basename;
+use Cwd 'abs_path';
+
+my @pamFixOptions;
+
+@pamFixOptions = @ARGV;  # initial value
+
+push(@pamFixOptions, '-truncate');
+
+# We want to get Pamfix from the same directory we came from if
+# it's there.  Frequently, the directory containing Netpbm programs is
+# not in the PATH and we were invoked by absolute path.
+
+my $my_directory = abs_path(dirname($0));
+$ENV{"PATH"} = $my_directory . ":" . $ENV{"PATH"};
+
+exit(system('pamfix', @pamFixOptions)>>8);