Fix the long-standing mkhive bug on 64-bit systems
authorColin Finck <colin@reactos.org>
Fri, 17 Aug 2007 22:17:13 +0000 (22:17 +0000)
committerColin Finck <colin@reactos.org>
Fri, 17 Aug 2007 22:17:13 +0000 (22:17 +0000)
commitfe41b9be51e4f9ebb3371f5d6cb97ce9ec556f6f
tree521297ef736cde127df5aad80a62ff75570b64b0
parentc4bb3a9eb4a9d8afc749918020fd476fe1bc98f6
Fix the long-standing mkhive bug on 64-bit systems

This is now done by adding a "typedefs64.h" header file, which uses int's instead of long's for 32-bit values. As far as I know, this is the only way to avoid the problem that a long has a size of 64-bit on 64-bit systems.
This header file is now used in the host makefiles of cmlib, inflib and mkhive. It is also suitable for the other host tools, which need 32-bit values (will do some changes there in the next few days).

Unfortunately, Live-CDs still do not work because of another bug (see bug #2290).
But I compared the hives created by 32-bit Debian Linux and 64-bit Debian Linux and after these changes, they are exactly the same.
See issue #2272 for more details.

svn path=/trunk/; revision=28389
14 files changed:
reactos/include/psdk/basetsd.h
reactos/include/psdk/basetyps.h
reactos/include/psdk/winnt.h
reactos/include/reactos/typedefs64.h [new file with mode: 0644]
reactos/lib/cmlib/cmlib.h
reactos/lib/cmlib/cmlib.mak
reactos/lib/inflib/builddep.h
reactos/lib/inflib/infhost.h
reactos/lib/inflib/infhostgen.c
reactos/lib/inflib/infhostget.c
reactos/lib/inflib/infhostglue.c
reactos/lib/inflib/infhostput.c
reactos/tools/mkhive/mkhive.h
reactos/tools/mkhive/mkhive.mak