Mercurial > hg > early-roguelike
comparison rogue3/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 | 12e070d1a780 |
children | 8b6aba552f6f |
comparison
equal
deleted
inserted
replaced
251:e7862a021609 | 252:3d4252fa2ed3 |
---|---|
100 #include <ctype.h> | 100 #include <ctype.h> |
101 #include <fcntl.h> | 101 #include <fcntl.h> |
102 #include <limits.h> | 102 #include <limits.h> |
103 #include <sys/stat.h> | 103 #include <sys/stat.h> |
104 #include <signal.h> | 104 #include <signal.h> |
105 #include <time.h> | |
105 | 106 |
106 #define NOOP(x) (x += 0) | 107 #define NOOP(x) (x += 0) |
107 | 108 |
108 static int pass_ctrl_keypad = 1; | 109 static int pass_ctrl_keypad = 1; |
109 | 110 |
410 { | 411 { |
411 #ifdef HAVE_GETUID | 412 #ifdef HAVE_GETUID |
412 return( getuid() ); | 413 return( getuid() ); |
413 #else | 414 #else |
414 return(42); | 415 return(42); |
415 #endif | |
416 } | |
417 | |
418 pid_t | |
419 md_getpid(void) | |
420 { | |
421 #ifdef _WIN32 | |
422 return( _getpid() ); | |
423 #else | |
424 return( getpid() ); | |
425 #endif | 416 #endif |
426 } | 417 } |
427 | 418 |
428 char * | 419 char * |
429 md_getusername(void) | 420 md_getusername(void) |
1610 break; | 1601 break; |
1611 #endif | 1602 #endif |
1612 | 1603 |
1613 return ret; | 1604 return ret; |
1614 } | 1605 } |
1606 | |
1607 unsigned int | |
1608 md_random_seed(void) | |
1609 { | |
1610 unsigned int seed; | |
1611 seed = (unsigned int) time((time_t *) NULL); | |
1612 #ifdef _WIN32 | |
1613 seed += _getpid(); | |
1614 #else | |
1615 seed += getpid(); | |
1616 #endif | |
1617 return seed; | |
1618 } |