From eff2ea1d69a589c5b0a6ddde9ff400ab43377c2f Mon Sep 17 00:00:00 2001 From: Piotr Sikora Date: Mon, 26 Feb 2024 20:00:35 +0000 Subject: [PATCH] Win32: fixed unique file index calculations. The old code was breaking strict aliasing rules. Signed-off-by: Piotr Sikora --- src/os/win32/ngx_files.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/os/win32/ngx_files.h b/src/os/win32/ngx_files.h index 6e59a6fc9..78ba13a0e 100644 --- a/src/os/win32/ngx_files.h +++ b/src/os/win32/ngx_files.h @@ -154,7 +154,8 @@ ngx_int_t ngx_file_info(u_char *filename, ngx_file_info_t *fi); (((off_t) (fi)->nFileSizeHigh << 32) | (fi)->nFileSizeLow) #define ngx_file_fs_size(fi) ngx_file_size(fi) -#define ngx_file_uniq(fi) (*(ngx_file_uniq_t *) &(fi)->nFileIndexHigh) +#define ngx_file_uniq(fi) \ + (((ngx_file_uniq_t) (fi)->nFileIndexHigh << 32) | (fi)->nFileIndexLow) /* 116444736000000000 is commented in src/os/win32/ngx_time.c */