[M3commit] CVS Update: cm3

Jay Krell jkrell at elego.de
Fri May 9 10:11:35 CEST 2008


CVSROOT:	/usr/cvs
Changes by:	jkrell at birch.	08/05/09 10:11:35

Modified files:
	cm3/m3-libs/m3core/src/runtime/WIN32/: RTArgs.m3 
	cm3/m3-libs/m3core/src/runtime/common/: RTLinker.i3 RTLinker.m3 
	                                        m3makefile 
Added files:
	cm3/m3-libs/m3core/src/runtime/common/: RTLinkerC.c 

Log message:
	fix RTArgs environment variable functionality
	that has always been broken in some form or another,
	at least back to 3.6, and which changed but didn't get
	fixed by Olaf in 2003 with:
	
	http://dcvs.elegosoft.com/cgi-bin/cvsweb.cgi/cm3/m3-libs/m3core/src/runtime/WIN32/RTArgs.m3.diff?r1=1.1;r2=1.2;f=u
	
	I knew! nothing had actually changed here, just that it never really worked, but was slow
	to get around to looking into it.
	
	This change is "carefully" written to avoid a compiler/runtime coupling.
	However a better change is probably to change the compiler, when targeting NT386, to always call
	GetEnvironmentStrings and never use the envp parameter to main.
	Or perhaps something sleazy like setting the low bit to indicate "type".
	Or perhaps for main/WinMain to set the "useFlatEnv" variable (through a function call,
	to avoid dynamically linked data).




More information about the M3commit mailing list