summaryrefslogtreecommitdiff
path: root/lib/tempname.c
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>2001-03-16 12:02:22 +0000
committerJim Meyering <jim@meyering.net>2001-03-16 12:02:22 +0000
commit75b98a184561cd75b399887362146f2b54aec74c (patch)
treea1e507d213f62aa7485201eea7d1a210e38bc5df /lib/tempname.c
parent46703b2bc4eb671f58e859659b487eba78ed42dc (diff)
downloadcoreutils-75b98a184561cd75b399887362146f2b54aec74c.tar.xz
(uint64_t): Define to uintmax_t if
not defined, and if UINT64_MAX is not defined. Required at least for Vax Ultrix4.3, which doesn't define uint64_t. Reported by John David Anglin.
Diffstat (limited to 'lib/tempname.c')
-rw-r--r--lib/tempname.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/tempname.c b/lib/tempname.c
index d008c982f..5ead95ea3 100644
--- a/lib/tempname.c
+++ b/lib/tempname.c
@@ -107,6 +107,15 @@
# define __secure_getenv getenv
#endif
+/* Use the widest available unsigned type if uint64_t is not
+ available. The algorithm below extracts a number less than 62**6
+ (approximately 2**35.725) from uint64_t, so ancient hosts where
+ uintmax_t is only 32 bits lose about 3.725 bits of randomness,
+ which is better than not having mkstemp at all. */
+#if !defined UINT64_MAX && !defined uint64_t
+# define uint64_t uintmax_t
+#endif
+
/* Return nonzero if DIR is an existent directory. */
static int
direxists (const char *dir)