summaryrefslogtreecommitdiffstats
path: root/compat/mktemp.in
blob: 400b520bf8f4c9719206dfc5d06e998ee775118c (plain) (blame)
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
#! @BASH@

if [ x"$1" = x"-d" ]
then
	for ((n=0 ; $n<100 ; n++))
	do
		try=${2%XXXXXX}$RANDOM
		mkdir -m 700 $try 2>/dev/null && break
	done
else
	user_mask=$(umask)
	umask 077
	set -o noclobber
	for ((n=0 ; $n<100 ; n++))
	do
		try=${1%XXXXXX}$RANDOM
		echo -n "" 2> /dev/null > $try && break
	done
	set +o noclobber
	umask $user_mask
fi
if [ $n -lt 100 ]
then
	echo $try
else
	exit 1
fi