Mercurial > hg > octave-shane > gnulib-hg
diff lib/stdlib.in.h @ 10704:c1911eda16bd
random_r: new module
* modules/random_r: New file.
* m4/random_r.m4: New file.
* lib/random_r.c: New file, from glibc.
* modules/random_r-tests: New file.
* tests/test-random_r.c: New file.
* lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r): Declare.
(RAND_MAX): Define.
* m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
* modules/stdlib: Substitute them, too.
* MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
* doc/glibc-functions/initstate_r.texi: Mention the new module.
* doc/glibc-functions/random_r.texi: Likewise.
* doc/glibc-functions/setstate_r.texi: Likewise.
* doc/glibc-functions/srandom_r.texi: Likewise.
* config/srclist.txt: Mention it.
author | Jim Meyering <meyering@redhat.com> |
---|---|
date | Wed, 22 Oct 2008 11:19:27 +0200 |
parents | 8e54ec4dc691 |
children | e161b51e4184 |
line wrap: on
line diff
--- a/lib/stdlib.in.h +++ b/lib/stdlib.in.h @@ -217,6 +217,43 @@ #endif +#if @GNULIB_RANDOM_R@ +# if !@HAVE_RANDOM_R@ + +# ifndef RAND_MAX +# define RAND_MAX 2147483647 +# endif + +int srandom_r (unsigned int seed, struct random_data *rand_state); +int initstate_r (unsigned int seed, char *buf, size_t buf_size, + struct random_data *rand_state); +int setstate_r (char *arg_state, struct random_data *rand_state); +int random_r (struct random_data *buf, int32_t *result); +# endif +#elif defined GNULIB_POSIXCHECK +# undef random_r +# define random_r(b,r) \ + (GL_LINK_WARNING ("random_r is unportable - " \ + "use gnulib module random_r for portability"), \ + random_r (b,r)) +# undef initstate_r +# define initstate_r(s,b,sz,r) \ + (GL_LINK_WARNING ("initstate_r is unportable - " \ + "use gnulib module random_r for portability"), \ + initstate_r (s,b,sz,r)) +# undef srandom_r +# define srandom_r(s,r) \ + (GL_LINK_WARNING ("srandom_r is unportable - " \ + "use gnulib module random_r for portability"), \ + srandom_r (s,r)) +# undef setstate_r +# define setstate_r(a,r) \ + (GL_LINK_WARNING ("setstate_r is unportable - " \ + "use gnulib module random_r for portability"), \ + setstate_r (a,r)) +#endif + + #if @GNULIB_RPMATCH@ # if !@HAVE_RPMATCH@ /* Test a user response to a question.