aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lang/gawk/files/patch-sec1163
1 files changed, 163 insertions, 0 deletions
diff --git a/lang/gawk/files/patch-sec1 b/lang/gawk/files/patch-sec1
new file mode 100644
index 00000000000..e1b57b97639
--- /dev/null
+++ b/lang/gawk/files/patch-sec1
@@ -0,0 +1,163 @@
+diff -ur gawk-3.0.6.orig/doc/gawk.texi gawk-3.0.6/doc/gawk.texi
+--- doc/gawk.texi.orig Tue Aug 8 02:57:43 2000
++++ doc/gawk.texi Sun May 27 04:30:53 2001
+@@ -16550,8 +16550,7 @@
+ arranges to clean up any temporary files on program exit or upon an
+ interrupt.
+
+-@c 2e: For the temp file handling, go with Darrel's ig=${TMP:-/tmp}/igs.$$
+-@c 2e: or something as similar as possible.
++@c 2e: For the temporary file handling, use mktemp with $@{TMPDIR:-/tmp@}.
+
+ The next part loops through all the command line arguments.
+ There are several cases of interest.
+@@ -16576,7 +16575,7 @@
+ @itemx --file
+ @itemx --file=
+ @itemx -Wfile=
+-The file name is saved to the temporary file @file{/tmp/ig.s.$$} with an
++The file name is saved to a temporary file with an
+ @samp{@@include} statement.
+ The @code{sed} utility is used to remove the leading option part of the
+ argument (e.g., @samp{--file=}).
+@@ -16584,7 +16583,7 @@
+ @item --source
+ @itemx --source=
+ @itemx -Wsource=
+-The source text is echoed into @file{/tmp/ig.s.$$}.
++The source text is echoed into a temporary file.
+
+ @item --version
+ @itemx -Wversion
+@@ -16596,16 +16595,11 @@
+ or @samp{-Wsource}, were supplied, then the first non-option argument
+ should be the @code{awk} program. If there are no command line
+ arguments left, @code{igawk} prints an error message and exits.
+-Otherwise, the first argument is echoed into @file{/tmp/ig.s.$$}.
++Otherwise, the first argument is echoed into a temporary file.
+
+ In any case, after the arguments have been processed,
+-@file{/tmp/ig.s.$$} contains the complete text of the original @code{awk}
+-program.
+-
+-The @samp{$$} in @code{sh} represents the current process ID number.
+-It is often used in shell programs to generate unique temporary file
+-names. This allows multiple users to run @code{igawk} without worrying
+-that the temporary file names will clash.
++the complete text of the original @code{awk} program
++is contained in a temporary file.
+
+ @cindex @code{sed} utility
+ Here's the program:
+@@ -16620,13 +16614,25 @@
+ # Arnold Robbins, arnold@@gnu.org, Public Domain
+ # July 1993
+
++# Temporary file handling modifications for Owl by
++# Jarno Huuskonen and Solar Designer, still Public Domain
++# May 2001
++
++if [ ! -x /bin/mktemp ]; then
++ echo "$0 needs mktemp to create temporary files."
++ exit 1
++fi
++
++STEMPFILE=`/bin/mktemp $@{TMPDIR:-/tmp@}/igawk.s.XXXXXX` || exit 1
++ETEMPFILE=`/bin/mktemp $@{TMPDIR:-/tmp@}/igawk.e.XXXXXX` || exit 1
++
+ if [ "$1" = debug ]
+ then
+ set -x
+ shift
+ else
+ # cleanup on exit, hangup, interrupt, quit, termination
+- trap 'rm -f /tmp/ig.[se].$$' 0 1 2 3 15
++ trap 'rm -f $STEMPFILE $ETEMPFILE' EXIT HUP INT QUIT TERM
+ fi
+
+ while [ $# -ne 0 ] # loop over arguments
+@@ -16643,28 +16649,28 @@
+
+ -[vF]*) opts="$opts '$1'" ;;
+
+- -f) echo @@include "$2" >> /tmp/ig.s.$$
++ -f) echo @@include "$2" >> $STEMPFILE
+ shift;;
+
+ @group
+ -f*) f=`echo "$1" | sed 's/-f//'`
+- echo @@include "$f" >> /tmp/ig.s.$$ ;;
++ echo @@include "$f" >> $STEMPFILE ;;
+ @end group
+
+ -?file=*) # -Wfile or --file
+ f=`echo "$1" | sed 's/-.file=//'`
+- echo @@include "$f" >> /tmp/ig.s.$$ ;;
++ echo @@include "$f" >> $STEMPFILE ;;
+
+ -?file) # get arg, $2
+- echo @@include "$2" >> /tmp/ig.s.$$
++ echo @@include "$2" >> $STEMPFILE
+ shift;;
+
+ -?source=*) # -Wsource or --source
+ t=`echo "$1" | sed 's/-.source=//'`
+- echo "$t" >> /tmp/ig.s.$$ ;;
++ echo "$t" >> $STEMPFILE ;;
+
+ -?source) # get arg, $2
+- echo "$2" >> /tmp/ig.s.$$
++ echo "$2" >> $STEMPFILE
+ shift;;
+
+ -?version)
+@@ -16679,19 +16685,19 @@
+ shift
+ done
+
+-if [ ! -s /tmp/ig.s.$$ ]
++if [ ! -s $STEMPFILE ]
+ then
+ if [ -z "$1" ]
+ then
+ echo igawk: no program! 1>&2
+ exit 1
+ else
+- echo "$1" > /tmp/ig.s.$$
++ echo "$1" > $STEMPFILE
+ shift
+ fi
+ fi
+
+-# at this point, /tmp/ig.s.$$ has the program
++# at this point, $STEMPFILE has the program
+ @c endfile
+ @c @end group
+ @end example
+@@ -16776,7 +16782,7 @@
+ @end group
+ @end example
+
+-The stack is initialized with @code{ARGV[1]}, which will be @file{/tmp/ig.s.$$}.
++The stack is initialized with @code{ARGV[1]}, which will be @file{$STEMPFILE}.
+ The main loop comes next. Input lines are read in succession. Lines that
+ do not start with @samp{@@include} are printed verbatim.
+
+@@ -16825,7 +16831,7 @@
+ @group
+ close(input[stackptr])
+ @}
+-@}' /tmp/ig.s.$$ > /tmp/ig.e.$$
++@}' $STEMPFILE > $ETEMPFILE
+ @end group
+ @c endfile
+ @c @end group
+@@ -16852,7 +16858,7 @@
+ @example
+ @c @group
+ @c file eg/prog/igawk.sh
+-eval gawk -f /tmp/ig.e.$$ $opts -- "$@@"
++eval gawk -f $ETEMPFILE $opts -- "$@@"
+
+ exit $?
+ @c endfile