[PATCH 2 of 2] Win32: extended ngx_random range to 0x7fffffff
J Carter
jordanc.carter at outlook.com
Sat Dec 9 08:42:11 UTC 2023
On Sat, 09 Dec 2023 07:46:10 +0000
J Carter <jordanc.carter at outlook.com> wrote:
> # HG changeset patch
> # User J Carter <jordanc.carter at outlook.com>
> # Date 1702101635 0
> # Sat Dec 09 06:00:35 2023 +0000
> # Node ID 1a77698f82d2580aa8b8f62ce89b4dbb6d678c5d
> # Parent d9275e982a7188a1ea7855295ffa93362ea9830f
> Win32: extended ngx_random range to 0x7fffffff
>
> rand() is used on win32. RAND_MAX is implementation defined. win32's is
> 0x7fff.
>
> Existing uses of ngx_random rely upon 0x7fffffff range provided by
> posix implementations of random().
>
> diff -r d9275e982a71 -r 1a77698f82d2 src/os/win32/ngx_win32_config.h
> --- a/src/os/win32/ngx_win32_config.h Sat Dec 09 05:09:07 2023 +0000
> +++ b/src/os/win32/ngx_win32_config.h Sat Dec 09 06:00:35 2023 +0000
> @@ -280,7 +280,9 @@
>
> #define NGX_HAVE_GETADDRINFO 1
>
> -#define ngx_random rand
> +#define ngx_random \
> + ((rand() << 16) | (rand() << 1) | (rand() >> 14))
> +
> #define ngx_debug_init()
>
>
^ my mistake - copying error..
# HG changeset patch
# User J Carter <jordanc.carter at outlook.com>
# Date 1702111094 0
# Sat Dec 09 08:38:14 2023 +0000
# Node ID 10ef59a412a330872fc6d46de64f42e32e997b3a
# Parent d9275e982a7188a1ea7855295ffa93362ea9830f
Win32: extended ngx_random range to 0x7fffffff
rand() is used on win32. RAND_MAX is implementation defined. win32's is
0x7fff.
Existing uses of ngx_random rely upon 0x7fffffff range provided by
posix implementations of random().
diff -r d9275e982a71 -r 10ef59a412a3 src/os/win32/ngx_win32_config.h
--- a/src/os/win32/ngx_win32_config.h Sat Dec 09 05:09:07 2023 +0000
+++ b/src/os/win32/ngx_win32_config.h Sat Dec 09 08:38:14 2023 +0000
@@ -280,7 +280,9 @@
#define NGX_HAVE_GETADDRINFO 1
-#define ngx_random rand
+#define ngx_random() \
+ ((rand() << 16) | (rand() << 1) | (rand() >> 14))
+
#define ngx_debug_init()
More information about the nginx-devel
mailing list