]> git.kaiwu.me - nginx.git/commitdiff
Win32: fixed unique file index calculations.
authorPiotr Sikora <piotr@aviatrix.com>
Mon, 26 Feb 2024 20:00:35 +0000 (20:00 +0000)
committerPiotr Sikora <piotr@aviatrix.com>
Mon, 26 Feb 2024 20:00:35 +0000 (20:00 +0000)
The old code was breaking strict aliasing rules.

Signed-off-by: Piotr Sikora <piotr@aviatrix.com>
src/os/win32/ngx_files.h

index 6e59a6fc97abdc6af0dfaef590f21d0f3511f7e3..78ba13a0e951fd7d25534010aeb33b96ddbe6f18 100644 (file)
@@ -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 */