Update.
authorUlrich Drepper <drepper@redhat.com>
Mon, 13 Apr 1998 22:59:33 +0000 (22:59 +0000)
committerUlrich Drepper <drepper@redhat.com>
Mon, 13 Apr 1998 22:59:33 +0000 (22:59 +0000)
1998-04-13  Ulrich Drepper  <drepper@cygnus.com>

* sysdeps/posix/mktemp.c: Increment `value' in a way which touches
all needed 36 bits.
* sysdeps/posix/mkstemp.c: Likewise.

ChangeLog
sysdeps/posix/mkstemp.c
sysdeps/posix/mktemp.c

index fc4f3b8..f88e5ac 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+1998-04-13  Ulrich Drepper  <drepper@cygnus.com>
+
+       * sysdeps/posix/mktemp.c: Increment `value' in a way which touches
+       all needed 36 bits.
+       * sysdeps/posix/mkstemp.c: Likewise.
+
 1998-04-13 17:40  Ulrich Drepper  <drepper@cygnus.com>
 
        * iconvdata/8bit-gap.c: Simplify step data handling.
index b3c8b64..3d8be9c 100644 (file)
@@ -53,7 +53,7 @@ mkstemp (template)
 
   /* Get some more or less random data.  */
   __gettimeofday (&tv, NULL);
-  value += tv.tv_usec | getpid ();
+  value += ((uint64_t) tv.tv_usec << 16) ^ tv.tv_sec ^ getpid ();
 
   for (count = 0; count < TMP_MAX; ++count)
     {
index 6bbc4c0..ad5cb1d 100644 (file)
@@ -35,7 +35,7 @@ mktemp (template)
 {
   static const char letters[]
     = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
-  static uint32_t value;
+  static uint64_t value;
   struct timeval tv;
   char *XXXXXX;
   size_t len;
@@ -53,12 +53,12 @@ mktemp (template)
 
   /* Get some more or less random data.  */
   __gettimeofday (&tv, NULL);
-  value += tv.tv_usec | getpid ();
+  value += ((uint64_t) tv.tv_usec << 16) ^ tv.tv_sec ^ getpid ();
 
   for (count = 0; count < TMP_MAX; ++count)
     {
       struct stat ignored;
-      uint32_t v = value;
+      uint64_t v = value;
 
       /* Fill in the random bits.  */
       XXXXXX[0] = letters[v % 62];