Commit a15976c07 for imagemagick.org

commit a15976c0755dd2eac76b1e3275b8eb9c37898782
Author: Cristy <urban-warrior@imagemagick.org>
Date:   Sun Jul 5 20:01:06 2026 -0400

    map Windows file identity into st_dev/st_ino.

diff --git a/MagickCore/nt-base.c b/MagickCore/nt-base.c
index 67ca97992..01a548175 100644
--- a/MagickCore/nt-base.c
+++ b/MagickCore/nt-base.c
@@ -2650,6 +2650,28 @@ MagickExport int NTStatWide(const char *path,struct stat *attributes)
   if (path_wide == (WCHAR *) NULL)
     return(-1);
   status=wstat(path_wide,attributes);
+  if (status == 0)
+    {
+      HANDLE handle = CreateFileW(path_wide,GENERIC_READ,FILE_SHARE_READ |
+        FILE_SHARE_WRITE | FILE_SHARE_DELETE,NULL,OPEN_EXISTING,
+        FILE_FLAG_BACKUP_SEMANTICS,NULL);
+      if (handle != INVALID_HANDLE_VALUE)
+        {
+          BY_HANDLE_FILE_INFORMATION
+            file_info;
+
+          if (GetFileInformationByHandle(handle,&file_info) != 0)
+            {
+              /*
+                Map Windows file identity into st_dev/st_ino.
+              */
+              attributes->st_dev=(dev_t) file_info.dwVolumeSerialNumber;
+              attributes->st_ino=(((uint64_t) file_info.nFileIndexHigh) << 32) |
+                (uint64_t) file_info.nFileIndexLow;
+          }
+        CloseHandle(handle);
+      }
+    }
   path_wide=(WCHAR *) RelinquishMagickMemory(path_wide);
   return(status);
 }
diff --git a/MagickCore/utility-private.h b/MagickCore/utility-private.h
index dacf64c1a..d644c2c14 100644
--- a/MagickCore/utility-private.h
+++ b/MagickCore/utility-private.h
@@ -47,49 +47,6 @@ extern MagickPrivate void
   ChopPathComponents(char *,const size_t),
   ExpandFilename(char *);

-static inline MagickBooleanType GetPathSignature(int file,char signature[33])
-{
-  char
-    *p = signature;
-
-  ssize_t
-    i;
-
-  static const char
-    hex[] = "0123456789abcdef";
-
-  uint64_t
-     file_identity[2];
-
-#if defined(MAGICKCORE_WINDOWS_SUPPORT)
-  BY_HANDLE_FILE_INFORMATION file_info;
-  HANDLE handle = (HANDLE) _get_osfhandle(file);
-  if (handle == INVALID_HANDLE_VALUE)
-    return(MagickFalse);
-  if (GetFileInformationByHandle(handle,&file_info) == 0)
-    return(MagickFalse);
-  file_identity[0]=(uint64_t) file_info.dwVolumeSerialNumber;
-  file_identity[1]=((uint64_t) file_info.nFileIndexHigh << 32) |
-    (uint64_t) file_info.nFileIndexLow;
-#else
-  struct stat file_attributes;
-  if (fstat(file, &file_attributes) != 0)
-    return(MagickFalse);
-  file_identity[0]=(uint64_t) file_attributes.st_dev;
-  file_identity[1]=(uint64_t) file_attributes.st_ino;
-#endif
-  for (i=0; i < 2; i++)
-  {
-    ssize_t
-      shift;
-
-    for (shift=60; shift >= 0; shift-=4)
-      *p++=hex[(file_identity[i] >> shift) & 0xF];
-  }
-  *p='\0';
-  return(MagickTrue);
-}
-
 static inline int MagickReadDirectory(DIR *directory,struct dirent *entry,
   struct dirent **result)
 {