summaryrefslogtreecommitdiff
path: root/libc/misc/internals/tempname.c
diff options
context:
space:
mode:
Diffstat (limited to 'libc/misc/internals/tempname.c')
-rw-r--r--libc/misc/internals/tempname.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/libc/misc/internals/tempname.c b/libc/misc/internals/tempname.c
index 573305162..31b16c18a 100644
--- a/libc/misc/internals/tempname.c
+++ b/libc/misc/internals/tempname.c
@@ -127,15 +127,14 @@ static const char letters[] =
We use a clever algorithm to get hard-to-predict names. */
int __gen_tempname (char *tmpl, int kind)
{
- int len;
char *XXXXXX;
- static uint64_t value;
struct timeval tv;
uint32_t high, low, rh;
unsigned int k;
- int count, fd;
- int save_errno = errno;
- int i;
+ int len, i, count, fd, save_errno = errno;
+ static uint64_t value; /* Do not initialize this,
+ or lock it for multi-threaded
+ apps -- the messier the better */
len = strlen (tmpl);
if (len < 6 || strcmp (&tmpl[len - 6], "XXXXXX"))