https://git.reactos.org/?p=reactos.git;a=commitdiff;h=168fea0eee0acdf63461b7ac65fa607ab49cadbb

commit 168fea0eee0acdf63461b7ac65fa607ab49cadbb
Author:     Stanislav Motylkov <[email protected]>
AuthorDate: Sun Apr 17 16:14:36 2022 +0300
Commit:     Stanislav Motylkov <[email protected]>
CommitDate: Sun Apr 17 16:16:41 2022 +0300

    [CMLIB] Fix 64-bit build. Addendum to 93d8a1b7b.
    
    Thanks to Hervé Poussineau for help.
---
 sdk/lib/cmlib/hivedata.h | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/sdk/lib/cmlib/hivedata.h b/sdk/lib/cmlib/hivedata.h
index 39d617ccbd5..20e844f8306 100644
--- a/sdk/lib/cmlib/hivedata.h
+++ b/sdk/lib/cmlib/hivedata.h
@@ -77,7 +77,7 @@
  * the other bits specify index into the hive file. The value HCELL_NULL
  * (-1) is reserved for marking invalid cells.
  */
-typedef ULONG HCELL_INDEX, *PHCELL_INDEX;
+typedef ULONG_PTR HCELL_INDEX, *PHCELL_INDEX;
 
 //
 // Cell Magic Values
@@ -152,7 +152,11 @@ typedef struct _HBASE_BLOCK
        of the full name of the hive file */
     WCHAR FileName[HIVE_FILENAME_MAXLEN + 1];
 
+#ifdef _WIN64
+    ULONG Reserved1[98];
+#else
     ULONG Reserved1[99];
+#endif
 
     /* Checksum of first 0x200 bytes */
     ULONG CheckSum;
@@ -163,6 +167,7 @@ typedef struct _HBASE_BLOCK
 } HBASE_BLOCK, *PHBASE_BLOCK;
 
 C_ASSERT(sizeof(HBASE_BLOCK) == HBLOCK_SIZE);
+C_ASSERT(FIELD_OFFSET(HBASE_BLOCK, CheckSum) == 0x200 - sizeof(ULONG));
 
 typedef struct _HBIN
 {

Reply via email to