summaryrefslogtreecommitdiff
path: root/ACE/ace/OS_NS_stdlib.inl
diff options
context:
space:
mode:
authorolli <olli@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2011-03-17 07:37:11 +0000
committerolli <olli@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2011-03-17 07:37:11 +0000
commit3375d02622fc1b6b5ec7b727cfc27c1a4d26d650 (patch)
treea955bed04c11c338f726349b4172731f18373aba /ACE/ace/OS_NS_stdlib.inl
parent499c8753412df663d0cbadebfbd0a08c614c9637 (diff)
downloadATCD-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.inl34
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,