diff srogue/mdport.c @ 252:3d4252fa2ed3

Use more portable random seed generation. The new function md_random_seed() has replaced time() + getpid() and similar methods. Putting everything in mdport.c slightly reduces the warnings and workarounds.
author John "Elwin" Edwards
date Sat, 28 Jan 2017 15:49:41 -0500
parents fb25a62680c7
children 8b6aba552f6f
line wrap: on
line diff
--- a/srogue/mdport.c	Sat Jan 28 11:45:36 2017 -0500
+++ b/srogue/mdport.c	Sat Jan 28 15:49:41 2017 -0500
@@ -96,6 +96,7 @@
 #include <limits.h>
 #include <sys/stat.h>
 #include <signal.h>
+#include <time.h>
 
 #if !defined(PATH_MAX) && defined(_MAX_PATH)
 #define PATH_MAX _MAX_PATH
@@ -431,16 +432,6 @@
 #endif
 }
 
-pid_t
-md_getpid(void)
-{
-#ifdef _WIN32
-    return( _getpid() );
-#else
-    return( getpid() );
-#endif
-}
-
 char *
 md_getusername(void)
 {
@@ -1564,3 +1555,16 @@
 	srand(seed);
 #endif
 }
+
+unsigned int
+md_random_seed(void)
+{
+    unsigned int seed;
+    seed = (unsigned int) time((time_t *) NULL);
+#ifdef _WIN32
+    seed += _getpid();
+#else
+    seed += getpid();
+#endif
+    return seed;
+}