Update.
authorUlrich Drepper <drepper@redhat.com>
Tue, 22 Aug 2000 16:27:22 +0000 (16:27 +0000)
committerUlrich Drepper <drepper@redhat.com>
Tue, 22 Aug 2000 16:27:22 +0000 (16:27 +0000)
2000-08-22  Ulrich Drepper  <drepper@redhat.com>

* stdlib/random_r.c: Cleanups.
* stdlib/tst-random.c: New file.
* stdlib/Makefile (tests): Add tst-random.
Patches by Michael Fischer <fischer-michael@cs.yale.edu>.

* sysdeps/unix/sysv/linux/s390/getmsg.c: Remove.
* sysdeps/unix/sysv/linux/s390/getpmsg.c: Remove.
* sysdeps/unix/sysv/linux/s390/putmsg.c: Remove.
* sysdeps/unix/sysv/linux/s390/putpmsg.c: Remove.

ChangeLog
stdlib/Makefile
stdlib/random_r.c

index db405c8..eaaf34a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,16 @@
+2000-08-22  Ulrich Drepper  <drepper@redhat.com>
+
+       * stdlib/random_r.c: Cleanups.
+       * stdlib/tst-random.c: New file.
+       * stdlib/Makefile (tests): Add tst-random.
+       Patches by Michael Fischer <fischer-michael@cs.yale.edu>.
+
 2000-08-21  Martin Schwidefsky  <schwidefsky@de.ibm.com>
 
-        * sysdeps/unix/sysv/linux/s390/getmsg.c: Remove.
-        * sysdeps/unix/sysv/linux/s390/getpmsg.c: Remove.
-        * sysdeps/unix/sysv/linux/s390/putmsg.c: Remove.
-        * sysdeps/unix/sysv/linux/s390/putpmsg.c: Remove.
+       * sysdeps/unix/sysv/linux/s390/getmsg.c: Remove.
+       * sysdeps/unix/sysv/linux/s390/getpmsg.c: Remove.
+       * sysdeps/unix/sysv/linux/s390/putmsg.c: Remove.
+       * sysdeps/unix/sysv/linux/s390/putpmsg.c: Remove.
 
 2000-08-22  Jakub Jelinek  <jakub@redhat.com>
 
index de6800a..65df53d 100644 (file)
@@ -52,7 +52,7 @@ routines      :=                                                            \
 distribute     := exit.h grouping.h abort-instr.h isomac.c
 tests          := tst-strtol tst-strtod testmb testrand testsort testdiv \
                   test-canon test-canon2 tst-strtoll tst-environ         \
-                  tst-xpg-basename
+                  tst-xpg-basename tst-random
 
 
 # Several mpn functions from GNU MP are used by the strtod function.
index 120fcee..00ba44b 100644 (file)
@@ -268,7 +268,7 @@ __setstate_r (arg_state, buf)
      char *arg_state;
      struct random_data *buf;
 {
-  int32_t *new_state = (int32_t *) arg_state;
+  int32_t *new_state = 1 + (int32_t *) arg_state;
   int type;
   int old_type;
   int32_t *old_state;
@@ -285,7 +285,7 @@ __setstate_r (arg_state, buf)
   else
     old_state[-1] = (MAX_TYPES * (buf->rptr - old_state)) + old_type;
 
-  type = new_state[0] % MAX_TYPES;
+  type = new_state[-1] % MAX_TYPES;
   if (type < TYPE_0 || type > TYPE_4)
     goto fail;
 
@@ -295,13 +295,13 @@ __setstate_r (arg_state, buf)
 
   if (type != TYPE_0)
     {
-      int rear = new_state[0] / MAX_TYPES;
-      buf->rptr = &new_state[1 + rear];
-      buf->fptr = &new_state[1 + (rear + separation) % degree];
+      int rear = new_state[-1] / MAX_TYPES;
+      buf->rptr = &new_state[rear];
+      buf->fptr = &new_state[(rear + separation) % degree];
     }
-  buf->state = &new_state[1];
+  buf->state = new_state;
   /* Set end_ptr too.  */
-  buf->end_ptr = &new_state[1 + degree];
+  buf->end_ptr = &new_state[degree];
 
   return 0;