[M3commit] CVS Update: cm3
Jay Krell
jkrell at elego.de
Tue Jun 3 13:01:28 CEST 2008
CVSROOT: /usr/cvs
Changes by: jkrell at birch. 08/06/03 13:01:28
Modified files:
cm3/m3-libs/m3core/src/C/Common/: Cstdint.i3 Ctypes.i3
cm3/m3-libs/m3core/src/win32/: WinBase.i3 WinBaseTypes.i3
WinGDI.i3 WinIoctl.i3
WinListView.i3 WinNT.i3
WinSock.i3 WinTabCon.i3
WinUser.i3
cm3/m3-ui/ui/src/winvbt/: WinScrnColorMap.m3
Log message:
make Cstdint more correct by specifying bits
and remove values that can't be portably defined
cascade from this:
repair Windows headers:
1) add explicit padding; these were ok before
2) add a field that was randomly missing, was probably ok as padding would have been inserted
3) "unalign" some fields; this is not satisfactory but probably
more important to get the containing records sized and aligned correctly
than to expose every field; some way to expose them as one field instead
of broken up, while preserving the unalignment, would be good;
as well, platforms that have alignment faults (aka bus errors) must or
should be able to use these types
these were very seemingly incorrect before
more work is needed on reducing header cloning and/or ensuring it is done correctly
and/or automating it, and regularly checking it
4) a bit field-for-padding had the wrong size, probably a copy/paste error,
and probably ok as it was, as further padding would have been inserted by compiler
alignment seems like a big mess in the broader context, too easy to get wrong
This might break code using the Windows types BYTE, WORD, DWORD, UINT, ULONG, etc.
but NOT silently -- at compile-time.
More information about the M3commit
mailing list