]> git.ipfire.org Git - thirdparty/bash.git/blobdiff - examples/scripts.noah/mktmp.bash
prep for bash-4.3 release
[thirdparty/bash.git] / examples / scripts.noah / mktmp.bash
diff --git a/examples/scripts.noah/mktmp.bash b/examples/scripts.noah/mktmp.bash
deleted file mode 100644 (file)
index 3ea43ad..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-# mktmp.bash
-# Author: Noah Friedman <friedman@prep.ai.mit.edu>
-# Created: 1993-02-03
-# Last modified: 1993-02-03
-# Public domain
-
-# Conversion to bash v2 syntax done by Chet Ramey
-
-# Commentary:
-# Code:
-
-#:docstring mktmp:
-# Usage: mktmp [template] {createp}
-#
-# Generate a unique filename from TEMPLATE by appending a random number to
-# the end. 
-#
-# If optional 2nd arg CREATEP is non-null, file will be created atomically
-# before returning.  This is to avoid the race condition that in between
-# the time that the temporary name is returned and the caller uses it,
-# someone else creates the file. 
-#:end docstring:
-
-###;;;autoload
-function mktmp ()
-{
-    local template="$1"
-    local tmpfile="${template}${RANDOM}"
-    local createp="$2"
-    local noclobber_status
-
-    case "$-" in
-    *C*)       noclobber_status=set;;
-    esac
-
-    if [ "${createp:+set}" = "set" ]; then
-       # Version which creates file atomically through noclobber test.   
-       set -o noclobber
-       (> "${tmpfile}") 2> /dev/null
-       while [ $? -ne 0 ] ; do
-          # Detect whether file really exists or creation lost because of
-          # some other permissions problem.  If the latter, we don't want
-          # to loop forever.
-          if [ ! -e "${tmpfile}" ]; then
-             # Trying to create file again creates stderr message.
-             echo -n "mktmp: " 1>&2
-             > "${tmpfile}"
-             return 1
-          fi
-          tmpfile="${template}${RANDOM}"
-          (> "${tmpfile}") 2> /dev/null
-       done
-       test "${noclobber_status}" != "set" && set +o noclobber
-    else
-       # Doesn't create file, so it introduces race condition for caller. 
-       while [ -e "${tmpfile}" ]; do
-          tmpfile="${template}${RANDOM}"
-       done
-    fi
-
-    echo "${tmpfile}"
-}
-
-provide mktmp
-
-# mktmp.bash ends here