diff options
author | olli <olli@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2011-03-17 07:37:11 +0000 |
---|---|---|
committer | olli <olli@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2011-03-17 07:37:11 +0000 |
commit | 3375d02622fc1b6b5ec7b727cfc27c1a4d26d650 (patch) | |
tree | a955bed04c11c338f726349b4172731f18373aba /ACE/ace/OS_NS_stdlib.inl | |
parent | 499c8753412df663d0cbadebfbd0a08c614c9637 (diff) | |
download | ATCD-3375d02622fc1b6b5ec7b727cfc27c1a4d26d650.tar.gz |
ChangeLogTag: Thu Mar 17 07:32:34 UTC 2011 Olli Savia <ops@iki.fi>
Diffstat (limited to 'ACE/ace/OS_NS_stdlib.inl')
-rw-r--r-- | ACE/ace/OS_NS_stdlib.inl | 34 |
1 files changed, 7 insertions, 27 deletions
diff --git a/ACE/ace/OS_NS_stdlib.inl b/ACE/ace/OS_NS_stdlib.inl index 5873707349a..c6f0afc8a55 100644 --- a/ACE/ace/OS_NS_stdlib.inl +++ b/ACE/ace/OS_NS_stdlib.inl @@ -403,45 +403,25 @@ ACE_OS::rand (void) ACE_OSCALL_RETURN (::rand (), int, -1); } -#if !defined (ACE_WIN32) - -ACE_INLINE int -ACE_OS::rand_r (ACE_RANDR_TYPE &seed) -{ - ACE_OS_TRACE ("ACE_OS::rand_r"); -# if defined (ACE_HAS_REENTRANT_FUNCTIONS) && \ - !defined (ACE_LACKS_RAND_REENTRANT_FUNCTIONS) -# if defined (ACE_HAS_BROKEN_RANDR) - ACE_OSCALL_RETURN (::rand_r (seed), int, -1); -# else - ACE_OSCALL_RETURN (::rand_r (&seed), int, -1); -# endif /* ACE_HAS_BROKEN_RANDR */ -# else - ACE_UNUSED_ARG (seed); - ACE_OSCALL_RETURN (::rand (), int, -1); -# endif /* ACE_HAS_REENTRANT_FUNCTIONS */ -} - -#else /* ACE_WIN32 */ - ACE_INLINE int -ACE_OS::rand_r (ACE_RANDR_TYPE& seed) +ACE_OS::rand_r (unsigned int *seed) { ACE_OS_TRACE ("ACE_OS::rand_r"); - - long new_seed = (long) (seed); +#if defined (ACE_LACKS_RAND_R) + long new_seed = (long) *seed; if (new_seed == 0) new_seed = 0x12345987; long temp = new_seed / 127773; new_seed = 16807 * (new_seed - temp * 127773) - 2836 * temp; if (new_seed < 0) new_seed += 2147483647; - (seed) = (unsigned int)new_seed; + *seed = (unsigned int)new_seed; return (int) (new_seed & RAND_MAX); +#else + return ::rand_r (seed); +# endif /* ACE_LACKS_RAND_R */ } -#endif /* !ACE_WIN32 */ - # if !defined (ACE_LACKS_REALPATH) ACE_INLINE char * ACE_OS::realpath (const char *file_name, |