diff options
author | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2021-04-03 23:11:43 +0000 |
---|---|---|
committer | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2021-04-03 23:11:43 +0000 |
commit | acd20a2d8df3068d32381978026c427116a2f8b4 (patch) | |
tree | d7faae76f5dc8738c17cce2ccbec2f9df39c5be6 | |
parent | b19bd437731a20d67007d69e38c284775ae0c71d (diff) | |
download | netpbm-mirror-acd20a2d8df3068d32381978026c427116a2f8b4.tar.gz netpbm-mirror-acd20a2d8df3068d32381978026c427116a2f8b4.tar.xz netpbm-mirror-acd20a2d8df3068d32381978026c427116a2f8b4.zip |
Use 'rand' instead of 'random' on Windows
git-svn-id: http://svn.code.sf.net/p/netpbm/code/trunk@4083 9d0c8265-081b-0410-96cb-a4ca84ce46f8
-rw-r--r-- | doc/HISTORY | 3 | ||||
-rw-r--r-- | lib/util/randsysrandom.c | 5 | ||||
-rw-r--r-- | pm_config.in.h | 10 |
3 files changed, 18 insertions, 0 deletions
diff --git a/doc/HISTORY b/doc/HISTORY index 32d5da11..2990736b 100644 --- a/doc/HISTORY +++ b/doc/HISTORY @@ -6,6 +6,9 @@ CHANGE HISTORY not yet BJH Release 10.95.00 + Build: Fix build failure due to missing 'random' function on + Mingw platform. Bug introduced in Netpbm 10.94 (March 2021). + Build: Don't attempt to build 'pamexec' on systems without Unix process management. Bug introduced in Netpbm 10.94 (March 2021). diff --git a/lib/util/randsysrandom.c b/lib/util/randsysrandom.c index 3e38b0ae..f26bb18d 100644 --- a/lib/util/randsysrandom.c +++ b/lib/util/randsysrandom.c @@ -1,9 +1,14 @@ +/* Implementation note: Mingw/Windows does not provide POSIX 'random', so + netpbm/pm_config.h makes that a macro for POSIX 'rand' on that platform +*/ + #define _DEFAULT_SOURCE /* New name for SVID & BSD source defines */ #define _XOPEN_SOURCE 500 /* Make sure random() is in stdlib.h */ #define _BSD_SOURCE /* Make sure random() is in stdlib.h */ #include <stdlib.h> +#include "netpbm/pm_config.h" #include "netpbm/rand.h" static void diff --git a/pm_config.in.h b/pm_config.in.h index b30bccfe..7ba51454 100644 --- a/pm_config.in.h +++ b/pm_config.in.h @@ -167,6 +167,16 @@ #define lstat stat #endif +/* Mingw provides much of POSIX, but does not provide 'random' (and a + discussion on the Mingw mailing list in March 2021 shows that the + developers want it that way). MSVCRT itself has a sufficient 'rand', + though, so we use that for 'random'. +*/ +#if MSVCRT +#define random rand +#define srandom srand +#endif + /* CONFIGURE: Netpbm uses __inline__ to declare functions that should be compiled as inline code. GNU C recognizes the __inline__ keyword. If your compiler recognizes any other keyword for this, you can set |