[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