-----------------------------------------------------------------

Tue 19-Jul-94	(GregF)

crtwin32/dllstuff/crtdll.c
crtwin32/misc/onexit.c
	Changed the calls to GlobalAlloc so that GMEM_SHARE is specified.
	Affects only the Win32s version of msvcrt20.dll. This was bug
	14851, originating with Boaz Feldbaum.

-----------------------------------------------------------------

Fri 10-Jun-94	(SteveSa)

crtwin32/startup/threadex.c
	Fix 2 synchronization problems. 1) The _beginthreadex routine may NOT
	store values into the per-thread data block of the child thread since
	the child thread may finish executing and free that block before the
	parent thread executes the first instruction after the call to
	CreateThread.  (This is not a problem for _beginthread because that
	routine always creates its child thread in the suspended state.)
	There is no need to store the child thread handle in the per-thread
	data block for that child thread since _endthreadex does not close
	that handle.  2) The code had been written to pass the address of the
	tid field in the p.t.d. block to CreateThread, not the user specified
	tid address.  The user tid was filled in after CreateThread returned,
	but that was not reliable.  Now the user tid address is passed to
	CreateThread, and the child thread calls GetCurrentThreadId() to set
	the TID in its own p.t.d. block.

-----------------------------------------------------------------

Wed 08-Jun-94	(SteveSa)

libwin32\include\process.h
crtwin32\h\process.h
crtwin32\startup\dllcrt0.c
crtwin32\dllstuff\crtdll.c
	Add global variable _pRawDllMain which, if non-NULL because the user
	has defined it, will be called through upon DLL notifications, only
	before the CRT initialization on ATTACH notifications, and after the
	CRT termination on DETACH notifications.  This was needed by MFC.

-----------------------------------------------------------------

Wed 08-Jun-94	(GregF)

crtwin32\dllstuff\atonexit.c, crtdll.c
crtwin32\heap\free.c
crtwin32\misc\onexit.c
	Fixes to the support for user DLLs in Win32s. Principal change was
	to use GlobalHeap API for the onexit table.

-----------------------------------------------------------------

Mon 06-Jun-94	(SteveSa)

crtwin32/h/ & libwin32/include/
  errno.h, float.h, signal.h, stddef.h, stdio.h, stdlib.h
	Changed (some occurrences of) "#ifdef _MT" to
	"#if defined(_MT) || defined(_DLL)" so that MSVCRT*.DLL
	can be used with single-thread programs.  This model is
	dangerous if threads are running in the background without
	the user program's knowledge, but it allows fast getc/putc,
	for example, which are needed by our own compiler passes.

-----------------------------------------------------------------

Sat 04-Jun-94	(GregF)

crtwin32\string\alpha\strcat.c
	Removed _CALLTYPE1.

-----------------------------------------------------------------

Fri 03-Jun-94	(GregF)

libwin32\makefile
	Added ehvec*.obj to COMPONENTS_SUPPOBJS_DLL_FOR_WIN32S list.

-----------------------------------------------------------------

Fri 03-Jun-94	(SteveSa)

libwin32\include\new.h
crtwin32\h\new.h
crtwin32\heap\handler.cxx
	Removed set_new_handler() as an alias for _set_new_handler().
	Our implementation of _set_new_handler does NOT conform to the
	working ANSI C++ standard definition of set_new_handler.  We
	must correctly implement set_new_handler for Visual C++ v3.0,
	but we cannot alias it to our own _set_new_handler.  That would
	cause untold compatibility problems when we do implement a
	conforming version of the ANSI C++ set_new_handler().

-----------------------------------------------------------------

Wed 01-Jun-94	(ChrisWei)

crtwin32\h[libwin32\include]\tchar.h
        all _strdec and _wcsdec params should be const.

-----------------------------------------------------------------

Wed 01-Jun-94	(GregF)

crtwin32\dllstuff\atonexit.c, crtdll.c
	Removed compile-time conditioning on DLL_FOR_WIN32S. Instead, test
	for Win32s at runtime. i386\msvcrt*.lib should now work for BOTH
	i386\msvcrt*.dll and i386\win32s\msvcrt*.dll!!!

-----------------------------------------------------------------

Thu 26-May-94	(ChrisWei)

crtwin32\h[libwin32\include]\string.h, wchar.h
crtwin32\string\sources
libwin32\lib\*\*.def
        Add _strncoll, _wcsncoll.

crtwin32\h\tchar.h
        Make inlining the default for all.

-----------------------------------------------------------------

Thu 26-May-94	(ChrisWei)

crtwin32\h\tchar.h
        Make inlining the default for MBCS, fix _tcsn[c]cmp.

-----------------------------------------------------------------

Thu 26-May-94	(GregF)

crtwin32\misc\lsources, sources
crtwin32\misc\alpha\strcmp.s, strcpy.s, strlen.s (deleted)
crtwin32\string\lsources, sources
crtwin32\string\alpha\strcat.c, strcmps.s, strcpy.s, strlens.s (new)
	Changes for the Alpha build (only) strcmp.s, strcpy.s and strlen.s
	were deleted from misc\alpha, and replaced by the files listed above
	in string\alpha

-----------------------------------------------------------------

Wed 25-May-94	(ChrisWei)

crtwin32\h\tchar.h
        Bug fix: _tcsnextc in _MBCS case.

-----------------------------------------------------------------

Tue 24-May-94	(GregF)

crtwin32\dllstuff\atonexit.c, crtdll.c
crtwin32\heap\free.c
crtwin32\misc\onexit.c
	Package of changes so that Win32s user DLLs only execute static
	ctors and dtors once (when the the first process attaches for ctors
	and when the last process detaches for dtors).

-----------------------------------------------------------------

Tue 24-May-94	(GregF)

crtwin32\h\istream.h
crtwin32\iostream\istrgint.cxx, istrint.cxx, istrlong.cxx, istrshrt.cxx,
		  istruint.cxx, istrulng.cxx, istrusht.cxx
	Moved the definition of MAXLONGSIZ from various *.cxx to istream.h.
	Also, changed istrgint.cxx so that is stops copying characters into
	the buffer with at most MAXLONGSIZ-1 characters have been copied.
	This was probably not really a bug since MAXLONGSIZ was big enough
	(16) we wouldn't come near it anyway.

-----------------------------------------------------------------

Mon 23-May-94	(ChrisWei)

crtwin32\mbstring\sources, tcsmap*.c, mbs*coll.c
crtwin32\h[libwin32\include]tchar.h, mbstring.h
libwin32\lib\*\*.def
        Add _mbs*coll functions.

-----------------------------------------------------------------

Fri 20-May-94	(ChrisWei)

crtwin32\mbstring\mbsnbcmp.c, mbsnbicm.c
        Fix old bug: if last char is lead byte, returns EQUAL without
        testing at all. Now at least does strict value comparison of LB
        with other strings char.

-----------------------------------------------------------------

Thurs 19-May-94	(ChrisWei)

crtwin32\mbstring\almost_everything.c
crtwin32\h\mbdata.h, win32s.h
        Allow non-Win32 builds. Add Mac support.

-----------------------------------------------------------------

Wed 18-May-94	(SteveSa)

libwin32\buildall.cmd
libwin32\makefile
crtwin32\buildcrt.cmd
crtwin32\crt32.def
fpwin32\buildcrt.cmd
fpwin32\fp32.def
	Add support for LEGO builds of LIBC.LIB, LIBCMT.LIB, MSVCRT.LIB
	and the release objects (BINMODE, COMMODE, SETARGV, etc.)
	This support is activated by the presence of {crt,fp}dbg{,st,dll}
	subdirectories, which are parallel to {crt,fp}win{,st,dll}.

-----------------------------------------------------------------

Tue 17-May-94	(GregF)

libwin32\makefile
	Replaced "link32" with "link"

-----------------------------------------------------------------

Tue 17-May-94	(GregF)

crtwin32\helper\mips\llbit.c,lldefs.h
	Bug fix for Dolphin bug 12192 from Roger Lanser.

-----------------------------------------------------------------

Tue 17-May-94	(GregF)

crtwin32\h\string.h
libwin32\include\string.h
	memmove is implemented as an intrinsic on the Dec Alpha so the
	_CRTIMP qualifier must be removed from the prototype for the
	Alpha.

-----------------------------------------------------------------

Mon 16-May-94	(ChrisWei)

crtwin32\h\mbdata.h
crtwin32\mbstring\mbsicmp.c, mbslwr.c, mbsnbicm.c, mbsnicmp.c, mbsupr.c,
mbtolwr.c, mbtoupr.c
        Use _mbbtolower [upper] which is not locale-dependent, rather than 
        tolower [upper] which is.

-----------------------------------------------------------------

Mon 16-May-94	(SteveSa)

crtwin32\dllstuff\crtexe.c
	The nCmdShow parameter passed to (_w)WinMain must match the
	computed value in crtwin32\startup\crt0.c.  It was a constant.

-----------------------------------------------------------------

Fri 13-May-94	(SteveSa)

libwin32\makefile
	Add ehvec{ctr,cvb,dtr}.obj to MSVCRT.LIB.  (They cannot be imported
	because of prototype conflicts between _CRTIMP and the front end.)
	Problem: Yet another command line too long (this one for MSVCRT20.LIB).
	Solution: Tell nmake to generate and use a linker response file.

crtwin32\eh\sources
	Change flags to build this directory with -GX (all targets) and
	I386 with -d1Binl.  This is necessary for ehvec{ctr,cvb,dtr}.cxx.

crtwin32\eh\ehvec{ctr,cvb,dtr}.cxx
	Remove _CRTIMP attribute from these functions -- it causes a conflict
	with the compiler front-end's built-in prototypes for these helpers.

-----------------------------------------------------------------

Thu 12-May-94	(GregF)

crtwin32\h\assert.h, awint.h, conio.h, cruntime.h, ctime.h, cvt.h, direct.h,
	   dos.h, errno.h, excpt.h, fcntl.h, file2.h, float.h, fltintrn.h,
	   fpieee.h, io.h, limits.h, locale.h, math.h, mbstring.h, memory.h,
	   msdos.h, oscalls.h, process.h, search.h, setjmp.h, share.h,
	   signal.h, stdarg.h, stddef.h, string.h, syserr.h, tchar.h,
	   varargs.h
crtwin32\h\sys\locking.h, stat.h, timeb.h, types.h, utime.h
	Fixed _INC_* macro usage so that it is consistent throughout the
	include files (the #define comes immediately after the #ifdef).

crtwin32\h\wchar.h
	Removed conditional #include of win32s.h. It wasn't necessary and it
	broke the build with the change above.

libwin32\include\*.h
	Brought up to date with changes above.

-----------------------------------------------------------------

Wed 11-May-94	(GregF)

libwin32\makefile
	x86 build of the DLL has to be bound with user32.lib (init. code
	has a reference to MessageBoxA)

-----------------------------------------------------------------

Tue 10-May-94	(GregF)

crtwin32\dllstuff\crtlib.c
	Added check for Win32s at initialization time. Using this, the
	DLL version for Win32s (Win32) will not load on Win32 (resp., Win32).
	When one of DLLs is loaded on the wrong host, an explanatory
	message box is displayed and the initialization fails.

-----------------------------------------------------------------

Thu 05-May-94	(GregF)

libwin32\makefile, lib\i386\win32s, lib\i386\win32s\msvcrt20.def
	Build the Win32s DLL under the same name as the Windows NT DLL
	(i.e., msvcrt20.dll, msvcrt20.lib, msvcrt.lib) in the (new)
	subdirectory, win32s, of i386.

-----------------------------------------------------------------

Wed 04-May-94	(GregF)

libwin32\include\ctype.h, malloc.h, mbctype.h, stdio.h, stdlib.h, time.h,
		 wchar.h
	Oops, almost forgot these...

-----------------------------------------------------------------

Wed 04-May-94	(GregF)

crtwin32\h\ctype.h, internal.h, malloc.h, mbctype.h, stdio.h, stdlib.h,
	   time.h, wchar.h
crtwin32\dllstuff\crtlib.c
	Made several of the _DLL changes also depend on _M_IX86 so they do
	not affect the MIPS or Alpha builds. Basically, these are the
	definitions/declarations of the access functions and the macros to
	convert references to the CRT's global (user-visible), read-write
	data to access function calls. I also fixed a potential bug in
	crtlib.c: the return value for a success call to
	AllocPerProcessDataStruct() was not explicitly set to any value.

-----------------------------------------------------------------

Mon 02-May-94	(GregF)

crtwin32\h\stdio.h
libwin32\include\stdio.h
	Added __cdecl to declaration of __p__iob().

-----------------------------------------------------------------

Fri 29-Apr-94	(GregF)

crtwin32\h\win32s.h
	Oops! Forgot to addfile this header yesterday. It defines the per-
	process data struct for Win32s and access macros.

libwin32\include\ctype.h, malloc.h, mbctype.h, new.h, stdio.h, stdlib.h,
		 time.h, wchar.h
	Brought up to date with crtwin32\h.

-----------------------------------------------------------------

Thu 28-Apr-94	(GregF)

crtwin32\buildcrt.cmd, crt32.def, makefile

crtwin32\h\ctype.h, heap.h, internal.h, malloc.h, mbctype.h, mbdata.h,
	   mtdll.h, new.h, nlsint.h, setlocal.h, stdio.h, time.h, wchar.h

crtwin32\dllstuff\atonexit.c, crtexe.c, crtlib.c

crtwin32\heap\_newmode.c, handler.cxx, heapinit.c, malloc.c, new_mode.cxx

crtwin32\lowio\initcon.c, ioinit.c, txtmode.c

crtwin32\mbstring\mbctype.c

crtwin32\misc\ctype.c, initctyp.c, inithelp.c, initmon.c, inithelp.c,
	      inittime.c, onexit.c, setenv.c, setlocal.c, setmval.c,
	      wsetloca.c

crtwin32\startup\crt0.c, crt0dat.c, mlock.c, stdargv.c, tidtable.c, wild.c

crtwin32\stdio\_file.c, _getbuf.c, _open.c, _sftbuf.c, fdopen.c, fflush.c,
		ncommode.c, rmtmp.c, setvbuf.c, tmpfile.c

crtwin32\time\clock.c, strftime.c, timeset.c, tzset.c

crtwin32\tools\win32\relinc.if

libwin32\buildall.cmd, makefile

libwin32\lib\i386\msvcrt19.def

	Package of changes to build a special version of msvcrt*.dll for
	Win32s, and make the dll for Win32 compatible with it.

-----------------------------------------------------------------

Wed 27-Apr-94	(GregF)

libwin32\lib\mips\msvcrt20.def
	Added single precision math functions to the exports (defined for
	MIPS only).

-----------------------------------------------------------------

Mon 24-Apr-94	(ChriswWei)

- removed _tset[v]buf - there are no Unicode versions of these function.
	h\[include\]tchar.h

- add wWinMainCRTStartup entry point for DLL
	dllstuff\wcrtexew.c, sources, crtexe.c - add wWinMainCRTStartup entry point for DLL
	libwin32\makefile 

-----------------------------------------------------------------

Fri 22-Apr-94	(GregF)

libwin32/lib/alpha/msvcrt20.def
	Added _heapused to exports.

-----------------------------------------------------------------

Thu 21-Apr-94	(SteveSa)

libwin32/makefile
libwin32/sdknames/
libwin32/sdknames/obj
libwin32/sdknames/obj/{i386,mips,alpha}
	Changed the makefile to add SDKNAMES.LIB to MSVCRT.LIB.  SDKNAMES.LIB
	contains aliases to convert SDK CRTDLL.LIB names (e.g. _winver_dll) 
	to MS VC++ names (e.g., __imp__winver).  The sdknames directory and
	its subdirectories were added for use in building SDKNAMES.LIB.

	Also, the OLDNAMES alias for control87() on the i386 was fixed.  It
	was one leading underscore short on both source and target names
	and so it was spurious.  It is now fixed (_control87 => __control87).

-----------------------------------------------------------------

Thu 21-Apr-94	(GregF)

crtwin32\stdio\input.c
	Wasn't re-initializing the integer64 flag. This meant that any
	descriptor following a %I64{d,o,x,u} caused the 64-bit contents of
	num64 to be copied thru its corresponding argument. Oops! This was
	Dolphin bug 10601.

-----------------------------------------------------------------

Mon 18-Apr-94	ChrisWei)

I have checked in a boatload of files covering:

1) Final changes to MB stuff, all MB routines are now generic 
(use the NLS API set and now work for any MB language). Also, 
the MB-stuff is now multi-thread safe. 

2) str*coll, wcs*coll return _NLSCMPERROR when there is a problem 
with the API call. They had been doing so already but now its 
documented, the macro has the underscore, and its is now available 
to the users.

3) A few random bug fixes.

4) Got rid of some compiler warnings that I introduced a while back.

5) Added another MT lock in case anyone cares.

[ 6) Greg, for Win32s: I added a global (_mblcid) and removed a 
global (_mbascii) ]

Files changed:

h\awint.h, mbctype.h mbdata.h, mbstring.h, mtdll.h, setlocal.h, string.h
include\mbctype.h, mbstring.h, string.h
misc\aw_str.c, initctyp.c
\string\*icoll.c
\stdio\puts.c
convert\isctype.c, icwctype.c
mbstring\almost the whole shebang:

ismbalnm.c        2    2  out      
ismbalph.c        3    3  out      
ismbbyte.c        4    4  out      
ismbdgt.c         3    3  out      
ismbgrph.c        2    2  out      
ismblwr.c         3    3  out      
ismbprn.c         4    4  out      
ismbpunc.c        2    2  out      
ismbsle.c         2    2  out      
ismbspc.c         3    3  out      
ismbstr.c         2    2  out      
ismbupr.c         3    3  out      
mbctype.c         4    4  out      
mbsbtype.c        1    1  out      
mbschr.c          1    1  out      
mbscmp.c          1    1  out      
mbscspn.c         1    1  out      
mbsdec.c          1    1  out      
mbsicmp.c         1    1  out      
mbslen.c          1    1  out      
mbslwr.c          1    1  out      
mbsnbcat.c        1    1  out      
mbsnbcmp.c        1    1  out      
mbsnbcnt.c        1    1  out      
mbsnbcpy.c        1    1  out      
mbsnbicm.c        1    1  out      
mbsnbset.c        1    1  out      
mbsncat.c         1    1  out      
mbsnccnt.c        1    1  out      
mbsncmp.c         1    1  out      
mbsncpy.c         1    1  out      
mbsnicmp.c        1    1  out      
mbsnset.c         1    1  out      
mbsrchr.c         1    1  out      
mbsrev.c          1    1  out      
mbsset.c          1    1  out      
mbsspn.c          1    1  out      
mbstok.c          1    1  out      
mbsupr.c          1    1  out      
mbtohira.c        1    1  out      
mbtokata.c        1    1  out      
mbtolwr.c         1    1  out      
mbtoupr.c         1    1  out      

-----------------------------------------------------------------

Tue 12-Apr-94	(SteveSa)

{crtwin32\h,libwin32\include}\{ios,istream,ostream}.h
	Add some __cdecl's to function declarations, add some leading
	leading underscores to parameter names to preserve ANSI naming.

-----------------------------------------------------------------

Tue 05-Apr-94	(SteveSa)

{crtwin32\h,libwin32\include}\{stdarg,varargs}.h
	Minor change to declaration of __builtin_va_start() for ALPHA only!

-----------------------------------------------------------------

Fri 01-Apr-94	(GregF)

crtwin32\eh\mips\handlers.s, tmphack.s
	Commented out library directives that were inappropriately causing
	libcmt.lib to be linked in (Dolphin bug 9646)

-----------------------------------------------------------------

Wed 30-Mar-94	(GregF)

libwin32\lib\alpha\msvcrt20.def
	Added several missing exports (all were Unicode versions of
	familiar CRT functions).

-----------------------------------------------------------------

Mon 28-Mar-94	(SteveSa)

libwin32/makefile
crtwin32/dllstuff/crtexe.c -
	For X86 only (also not for the _NTSDK), add a call in CRTEXE.C to
	_setdefaultprecision().  Also add FP8.OBJ to MSVCRT.LIB.  Now when a
	user links an EXE with FP10.OBJ and MSVCRT.LIB, it actually works as
	expected and sets the X87 precision to 80-bit (64-bit mantissa)!
	Previously linking with FP10.OBJ had no effect on floating point
	precision if linking with MSVCRT.LIB.  This was a one-liner!

-----------------------------------------------------------------

Sat 26-Mar-94	(SteveSa)

crtwin32/dos/sources
crtwin32/dos/mterrno.c -
	Added a new file to contain single-thread versions of the functions
	_errno() and __doserrno(), which return the addresses of the per-thread
	variables errno and _doserrno, respectively.  These functions in the
	single thread library return the addresses of the global variables.
	This allows users to target shared code for use with LIBC.LIB and
	LIBCMT.LIB without having conflicts over accesses to errno/_doserrno.

-----------------------------------------------------------------

Wed 23-Mar-94	(GregF)

libwin32\lib\i386\msvcrt20.def
	Added _longjmpex.

-----------------------------------------------------------------

Tue 22-Mar-94	(GregF)

crtwin32\helper\mips\llbit.c
	Bug fix from Roger Lanser. He was doing arithmetic right shifts
	when he should have been doing logical right shifts...

-----------------------------------------------------------------

Fri 18-Mar-94	(GregF)
	Build map file for msvcrt20.dll.

-----------------------------------------------------------------

Thu 17-Mar-94	(GregF)

crtwin32\h\heap.h

crtwin32\heap\heapadd.c,
	      heapinit.c,
	      heapmin.c,
	      malloc.c,
	      realloc.c
	Package of changes to provide for more graceful handling of an
	out-of-free-descriptors (apparently, this condition will not arise
	on NT since the you get a nice little informative popup, followed
	by the summary execution of your app, whenever you run out of virtual
	memory). There remains a code path in heapadd.c which can lead to
	a call to _heap_abort but it's not clear that real code can hit this
	(I couldn't figure out how to).

-----------------------------------------------------------------

Tue 15-Mar-94	(GregF)

crtwin32\stdio\input.c
	Added support for I64 size modifier to the scanf-family.

-----------------------------------------------------------------

Mon 14-Mar-94	(GregF)

crtwin32\h\stddef.h
libwin32\include\stddef.h
	Made declaration of errno match the on in stdlib.h.

crtwin32\string\strstr.c
	Fixed bug so that if the second argument is "" (empty string), the
	first argument is returned.

-----------------------------------------------------------------

Fri 11-Mar-94	(GregF)

crtwin32\crt32.def
	Deleted the MIPS_OPTIMIZATION variable. Amounts to removing the
	-Ox- (disable intrinsics) switch from the MIPS build. This
	corresponds to Steve Hanson's change to \\orville\razzle\src\crt32
	version.

crtwin32\makefile
	Replaced lib32 with lib, the current name of the library manager.
	This includes Steve Hanson's change to \\orville\razzle\src\crt32
	version.

crtwin32\helper\mips\llbit.c
	Change from Steve Hanson (made to \\orville version). Basically,
	he turned off the bit shift intrinsics with a pragrma.

crtwin32\helper\mips\llshiftt.c
	Test program. Taken from \\orville version of the tree.

crtwin32\stdio\maketabc.c
	Changed to recognize 'I' as a size modifier. Code change was actually
	made before change to output.c below but I forgot to check it in.

-----------------------------------------------------------------

Thu 10-Mar-94	(GregF)

crtwin32\stdio\output.c
	Added support for I64 size modifier to the printf-family.

-----------------------------------------------------------------

Tue 08-Mar-94	(GregF)

libwin32\lib\mips\msvcrt20.def
	Added _CxxThrowException to exports.

-----------------------------------------------------------------

Sat 05-Mar-94	(GregF)

libwin32\makefile
	Fixed omissions in mips and alpha builds.

-----------------------------------------------------------------

Fri 04-Mar-94	(GregF)

crtwin32\string\sources
	Don't build mips\memcmpm.s any more (superceded by version in
	memorym.s).

-----------------------------------------------------------------

Tue 01-Mar-94	(SteveSa)

crtwin32/heap/malloc.c
crtwin32/heap/new.cxx
	The undocumented global variable _pnhHeap must be declared in
	malloc.c and not new.cxx in case new.obj is overridden by MFC
	or somebody else.

-----------------------------------------------------------------

Tue 01-Mar-94	(GregF)

crtwin32\string\strset.c
	Change from \\orville tree, made there by Jeff Havens.

crtwin32\string\mips\memorym.s, strchrm.s, strrchrm.s
	Bug fixes from Roger Lanser. Taken from the versions in the \\orville
	tree (\\orville\razzle\src\crt32).

-----------------------------------------------------------------

Wed 23-Feb-94 (ChrisWei)

crtwin32\misc\aw_cmp.c, aw_map.c aw_str.c
        Use Unicode versions first.

crtwin32\h[libwin32\include]\limits.h
        Tweak of Greg's new large int stuff, add "u".

-----------------------------------------------------------------

Wed 16-Feb-94 (SteveSa)

crtwin32/heap/malloc.c
crtwin32/heap/new.cxx
	Change malloc and new so that only new failures call the
	new handler (_pnhHeap) which is set by _set_new_handler().
	(* This change turned out to be controversial. *)

	Also revised heapused.c to give a better computation of used memory.

-----------------------------------------------------------------

Thur 10-Feb-94	(GregF)

crtwin32\string\mips\memorym.s
	"Big oopser, memmove/memcpy/memset were not returning the destination
	..." Quote and two-line fix both from Roger Lanser.

crtwin32\misc\i386\exsup.asm, setjmp.asm, setjmp3.asm
	fs:0 holds -1 to mark the end of the exception handler chain, not 0!

-----------------------------------------------------------------

Mon 07-Feb-94	(GregF)

crtwin32\string\mips\*.*
	Added mips subdirectory of fast string routine for the mips. Contents
	came from crt32 tree on \\orville\razzle, from Roger Lanser.

crtwin32\string\sources
	Changed to build the sources above where appropriate.

-----------------------------------------------------------------

Fri 04-Feb-94	(ChrisWei)

crtwin32\dllstuff\crtexe.c
crtwin32\startup\crt0.c, crt0dat.c
crtwin32\misc\setenv.c
        To avoid invalidating the users **envp to main, we copy the 
        environment block. I moved this copying from startup to putenv 
        to work around a benchmark bug, to simplify the code,  and to 
        not do the work before its required.


crtwin32\h\mbctype.h
crtwin32\mbstring\mbctype.c
        Added _setmbcp() and _getmbcp() functions. MB default is now ANSI CP.


crtwin32\h\locale.h, setlocal.h
crtwin32\misc\getqloc.c, setlocal.c
        Updated some of the countries and languages in setlocale(), 
        and changed how the default behavior works, including switching 
        from OEM to ANSI, but this may have to go back if we can't 
        finagle NT 3.1 support as needed.

crtwin32\h\locale.h, setlocal.h stdio.h
crtwin32\stdio\puts.c
        Finished getws/puws stuff.

-----------------------------------------------------------------

Fri 04-Feb-94	(GregF)

crtwin32\buildcrt.nt
	Define _helper for 386 so that helper\i386\*.asm gets built.

crtwin32\makefile.nt
	Synched up with crt32\makefile.

crtwin32\convert\mbstowcs.c, mbtowc.c
	Picked up SteveWo's changes to the build for _NTSUBSET_.

crtwin32\h\limits.h
	Added type suffixes for long and unsigned long constants. Also added
	constant for the sized integral types (e.g., _I64_MAX).

crtwin32\stdio\freopen.c

libwin32\makefile.nt
	Parameterized relative paths to development trees to make renaming
	easier.

libwin32\buildcrt.nt
	Variant of buildcrt.cmd to build the NT SDK version of the libs.

-----------------------------------------------------------------

Thu 03-Feb-94	(GregF)

crtwin32\misc\mips\chandler.c
	Latest from \\orville\razzle\src\crt32\misc\mips (Dave Cutler).

-----------------------------------------------------------------

Wed  02-Feb-94	(GregF)

crtwin32\makefile
	Define HELPER_OBJECTS for x86 build. These are the __int64 helpers.

crtwin32\helper\i386\*.asm
	One too many underscores! With our header file, the names get
	defined as C names (i.e., an underscore gets prepended in the
	transition to from source name to link name).

-----------------------------------------------------------------

Tues 01-Feb-94	(ChrisWei)

crtwin32\*\sources
        add INCLUDE ..\h to tell build.exe to scan our headers
crtwin32\crt32.def
        remove INCLUDES statement

crtwin32\h\stdio.h, wchar.h, tchar.h
crtwin32\stdio\gets.c, puts.c, getws.c putws.c
libwin32\lib\*\msvcrt20.def
        add getws() and putws() functions.


-----------------------------------------------------------------

Mon 24-Jan-94	(GregF)

crtwin32\h\ehdata.h
	Fixed mis-spelling of _M_MRX000

crtwin32\h\setjmp.h
	Fixed mis-spelling of _M_ALPHA.

crtwin32\h\fpieee.h, math.h
	Merged in _LANGUAGE_ASSEMBLY conditionals from Roger Lanser.

crtwin32\tools\win32\relinc.if
	Made _M_MRX000 'ignored' instead of 'undefined'. Also added _M_ALPHA
	to the ignore list, and _MT. Finally, deleted several macros which
	are no longer used.

libwin32\include\fpieee.h, malloc.h, math.h, setjmp.h
	The fix to relinc.if above changed malloc.h and math.h both. In
	addition, math.h had some cosmetic change due to Steve Hanson's
	changes, as did math fpieee.h. Finally, I fixed a mis-spelling
	of _M_ALPHA in setjmp.h.

-----------------------------------------------------------------

Wed 19-Jan-94	(GregF)

***** ALL CHANGES BELOW ARE FROM PHILIP LUCIDO *****

crtwin32\eh\frame.cxx - 	    CHANGED
	PhilipL: "Trivial change to a comment."

crtwin32\eh\i386\trnsctrl.cxx -     CHANGED
	PhilipL: "Get rid of the callback interface I added last month. Add
	the local unwinder for C++ EH used by longjmp(). New public symbols:
		__CxxLongjmpUnwind@4

crtwin32\inc\exsup.inc -	    CHANGED
	PhilipLu: "Move jmp_buf descriptions here for common asm access"

crtwin32\inc\setjmp.h - 	    CHANGED
	PhilipLu: "jmp_buf now 16 DWORDS. Change _JBLEN from 8 to 16 and
	added new fields to _JUMP_BUFFER struct."

crtwin32\inc\setjmpex.h -	    CHANGED
	setjmp must stay #define-d to _setjmp. Instead of #define-ing setjmp
	to be __setjmpex, #define longjmp to be __longjmpex.


crtwin32\misc\i386\abterm.asm -     DELETED
	PhilipLu: "Not needed any more. AbnormalTermination() moved back into
	exsup.asm."

crtwin32\misc\i386\exsup.asm -	    CHANGED
	PhilipLu: "Only routines commond to both C8.0 and C9.0 SEH are left
	here. Public symbols:
		__global_unwind
		__local_unwind
		__abnormal_termination

crtwin32\misc\i386\exsup2.asm -     NEW
	PhilipLu: "New file. The C 8.0 SEH exception handler has been moved
	here. Still needed for old objects, and for RT-DLLs used with old
	apps. Public symbols:
		__except_handler2"

crtwin32\misc\i386\exsup3.asm -     NEW
	PhilipLu: "New file. The C9.0 SEH exception handler created here.
	Also includes the C9.0 local unwinder entrypoint needed for
	longjmp(). Public symbols:
		__except_handler3
		__seh_longjmp_unwind@4

crtwin32\misc\i386\longjmp.asm -    NEW
	PhilipLu: "New file. Maintain old name (_longjmp), but handle both
	the old C8.0 jmp_buf, as well as the longer C9.0 form. If presented
	with a C 8.0 jmp_buf, do the (possibly erroneous) C8.0 behavior. If
	a C9.0 jmp_buf, then check the new data saved by __setjmp3 to
	determine how to unwind exceptions. Public symbols:
		_longjmp

crtwin32\misc\i386\sehsupp.c -	    CHANGED
	PhilipLu: "Contents totally replaced. Now only holds a helper to
	probe a DWORD ptr for readability. Public symbols:
		__rt_probe_read4@4


crtwin32\misc\i386\setjmp.asm -     CHANGED
	PhilipLu: "Everything but __setjmp and raisex moved elsewhere. Leaves
	only the C8.0-compatible setjmp, for old-app compatibility, as well
	as unknown function raisex() (does anybody know what the hell this
	is, and why it's in the ANSI namespace?). Public symbols:
		__setjmp
		_raisex

crtwin32\misc\i386\setjmp3.asm -    NEW
	PhilipLu: "New file. New C9.0 version of setjmp, __setjmp3. This is
	now a varargs compiler intrinsic. The compiler passes whatever data
	will be needed to properly unwind the exception stack when a
	longjmp is done. This includes a ptr to a function to be called to
	do the actual local unwind. Public symbols:
		__setjmp3

crtwin32\misc\i386\setjmpex.asm -   CHANGED
	Define __longjmpex instead of __setjmpex.


-----------------------------------------------------------------

Tue 18-Jan-94	(GregF)

crtwin32\crt32.nt
	Picked up _NTSYSTEM_ flag from NT SDK version (crt32 tree on
	\\orville\razzle), picked up _MB_MAP_DIRECT from Dolphin verion
	(crtwin32 tree).

crtwin32\convert\_mbslen.c, mblen.c, mbstowcs.c, mbtowc.c, toupper.c,
		 towupper.c, wcstombs.c wctomb.c
	Changes from Steve Wood affecting only the libcnt build (i.e.,
	CRTLIBTYPE==NT). For the most part, they amount to calling an Rtl
	API to do the work in each case.

crtwin32\startup\mips\chkstk.s
	Some apparently cosmetic changes by DaveC to keep the MIPS assembler
	happy.

-----------------------------------------------------------------

Tue 18-Jan-94	(SteveSa)

crtwin32\iostream\ios.cxx -
	Revised my 10/28/93 fix to delete critical sections in the IOS
	destructor.  The original fix still created and destroyed the
	lock for the class on every c-tor/d-tor, instead of only doing
	it when all copies of the class are gone.  KarlSi provided
	insight in November on how to really fix this.

-----------------------------------------------------------------

Tue 18-Jan-94	(SteveSa)

crtwin32\heap\heapinit.c -
	Improved check for Win32S / Phar Lap TNT, which do not have
	uncommitted memory.  On those systems the heap should allocate
	smaller memory regions.  Chicago (Win 4.0) may set the "WIN32S"
	bit in the OS version, so we now also check that the Windows
	version is less than 4.0 before using small heap values.

-----------------------------------------------------------------

Mon 17-Jan-94	(GregF)

crtwin32\buildcrt.cmd
crtwin32\h\mm.inc
crtwin32\helper\i386\*.asm
	Simon Koeman's compiler helpers for __int64 arithmetic. They are
	a pretty much a straightforward port of the long int helpers in
	the 16-bit tree.

libwin32\makefile
	Put helper.lib, the __int64 helpers, into msvcrt*.lib for the x86
	build.

-----------------------------------------------------------------

Thu 13-Jan-94	(GregF)

crtwin32\helper\mips\llbit.c, lldefs.h
	Steve Hanson's latest changes, taken from crt32 on \\orville\razzle.

-----------------------------------------------------------------

Tues 11-Jan-94	(GregF)

crtwin32\dllstuff\crtexe.c, crtlib.c
crtwin32\h\internal.h
	When building crtdll.dll/.lib (NT version of the dll), use
	__GetMainArgs rather than __getmainargs.

-----------------------------------------------------------------

Mon 10-Jan-94	(GregF)

libwin32\makefile
	Added Steve Hanson libm to the build (subdirectory and
	library from fpwin32). This is MIPS-only. Also put conditionals
	around build rules to, hopefully, eliminate "unknown target"
	warnings.

-----------------------------------------------------------------

Fri 07-Jan-94	(GregF)

crtwin32\dos\dosmap.c
	Map ERROR_NOT_ENOUGH_QUOTA to ENOMEM. The OS error refers to not
	having enough non-swapable pages to handle...whatever. It can
	result from CreateThread() if too many threads are already in
	existence. Also, deleted Cruiser support and changed the definition
	of the errentry struct to handle codes > 255.

crtwin32\startup\thread.c
	When _beginthread() fails, free up the the _tiddata struct which
	was calloc-ed. Also, map the error on failure.

-----------------------------------------------------------------

Thu 06-Jan-94	(GregF)

crtwin32\buildcrt.cmd, buildcrt.nt
	Corrected typo (_helpdir was mistyped in one place) and added to
	the cleanup of environment variables at the end of the batch files.

crtwin32\h\math.h
	Picked up MIPS-only prototypes for single precision fp functions
	(e.g., sinf) from NT SDK version (Steve Hanson's work).

-----------------------------------------------------------------

Wed 05-Jan-94	(GregF)

crtwin32\crt32.def
	Picked up ALPHA_OPTIMIZATION and MIPS_OPTIMIZATION switches, which
	disable intrinsic functions, from the NT SDK version. I suspect
	these are not necessary for the crtwin32 tree (I think I have put
	in #pragmas to take care of all instances of conflicts), but it
	doesn't hurt to be sure (at least for now).

crtwin32\startup\sources
	Build tlssup.c for all target CPUs. Also, picked up a fix for the
	POSIX build from the NT SDK version (crt32 tree on \\orville\razzle),
	has to do with the private definition of RaiseException() when
	building for POSIX.

-----------------------------------------------------------------

Tue 04-Jan-94	(GregF)

crtwin32\buildcrt.nt
	Added variant of buildcrt.cmd for building the NT SDK version of the
	CRT libs.

-----------------------------------------------------------------

Mon 03-Jan-94	(GregF)

crtwin32\crt32.nt, makefile.nt
	Added variants of crt32.def and makefile for building the NT SDK
	version of the CRT libs.

crtwin32\h\stdlib.h
	Changed type of __mb_cur_max for NT SDK build to be the same as the
	type for the Dolphin build.

crtwin32\h\wchar.h
	Deleted a _CRTVAR1 that crept in with an earlier merge.

crtwin32\winheap\calloc.c, handler.cxx, malloc.c
	Changed #include <os2dll.h> to #include <mtdll.h> (SteveSa renamed
	the include file some time back).

-----------------------------------------------------------------

Mon 03 Jan-94	(SteveSa)

crtwin32\heap\heapadd.c
	Fix a bug which occurs after calls to _heapmin().  If a large block
	is malloc-ed and free-ed and then _heapmin() is called, the last
	entry in the heap will be a DUMMY entry encompassing the large region
	which was returned to the operating system.  Subsequent large mallocs
	will most likely cause a new region to be allocated which will
	overlap with that region.  The pblock pointer in the heap sentinel
	may need to be updated.

-----------------------------------------------------------------

Wed 22-Dec-93	(GregF)

crtwin32\h\winheap.h
	Added this header file used in building the winheap directory (heap
	manager for the NT SDK flavor of the CRT libs).

crtwin32\misc\i386\sehsupp.c
	Fixed and unconditional #define of WIN32_LEAN_AND_MEAN which
	caused warnings.

-----------------------------------------------------------------

Tue 21-Dec-93	(GregF)

crtwin32\oldnames
	 oldnames\makefile, sources
	Delfile-d. These were obsolete and not used (actually, I don't
	think they were EVER used).

crtwin32\convert\sources.nt
	 direct\sources.nt
	 linkopts\sources.nt
	 lowio\sources.nt
	Added. They are slight variations on the regular sources files,
	to be used in building the NT SDK variation of the CRT libs.

-----------------------------------------------------------------

Tue 21-Dec-93	(GregF)

crtwin32\clean.bat
	Cleaned up version of a simple batch file I use locally.

-----------------------------------------------------------------

Mon 20-Dec-93	(GregF)

crtwin32\eh\frame.cxx
crtwin32\eh\i386\trnsctrl.cxx
crtwin32\h\exsup.inc
	Changes from Philip Lucido.

crtwin32\misc\i386\abterm.asm, sehsupp.c
	New from Philip Lucido.

crtwin32\misc\i386\exsup.asm, setjmp.asm
	Changes from Philip Lucido.

crtwin32\misc\sources
	Pick up new files (above) added by Philip Lucido

-----------------------------------------------------------------

Fri 17-Dec-93	(ChrisWei)

Big Unicode-enable checkin:


Files changed:
====================================================================

Subdirectory \direct

findfile.c
sources

Subdirectory \dos

access.c
chdir.c
chmod.c
fullpath.c
getcwd.c
mkdir.c
rename.c
rmdir.c
sources
stat.c
unlink.c

Subdirectory \exec

cenvarg.c
dospawn.c
execl.c
execle.c
execlp.c
execlpe.c
execv.c
execve.c
execvp.c
execvpe.c
sources
spawnl.c
spawnle.c
spawnlp.c
spawnlpe.c
spawnv.c
spawnve.c
spawnvp.c
spawnvpe.c
system.c

Subdirectory \h

ctype.h
direct.h
internal.h
io.h
locale.h
mbstring.h
mtdll.h
process.h
stdio.h
stdlib.h
string.h
tchar.h
time.h
wchar.h

Subdirectory \h\sys

stat.h
utime.h

Subdirectory \lowio

creat.c
mktemp.c
open.c
sources

Subdirectory \mbstring

sources

Subdirectory \misc

getpath.c
makepath.c
searchen.c
sources
splitpat.c

Subdirectory \startup

stdenvp.c
tidprint.c

Subdirectory \stdio

_open.c
fdopen.c
fopen.c
freopen.c
popen.c
sources
tempnam.c
tmpfile.c

Subdirectory \time

asctime.c
ctime.c
sources
strdate.c
strtime.c
utime.c


Files removed:
====================================================================

Subdirectory \mbstring

mbconv.c          1    1  out      
mbfpconv.c        1    1  out      
mbprint.c         2    2  out      
mbscan.c          2    2  out      
mbvprint.c        1    1  out      


Files added:
====================================================================

Subdirectory \direct

wfindfil.c

Subdirectory \dos

waccess.c
wchdir.c
wchmod.c
wfullpath.c
wgetcwd.c
wmkdir.c
wrename.c
wrmdir.c
wstat.c
wunlink.c

Subdirectory \exec

wcenvarg.c
wdospawn.c
wexecl.c
wexecle.c
wexeclp.c
wexeclpe.c
wexecv.c
wexecve.c
wexecvp.c
wexecvpe.c
wspawnl.c
wspawnle.c
wspawnlp.c
wspawnlpe.c
wspawnv.c
wspawnve.c
wspawnvp.c
wspawnvpe.c
wsystem.c

Subdirectory \lowio

wcreat.c
wmktemp.c
wopen.c

Subdirectory \misc

wgetpath.c
wmakepath.c
wsearchen.c
wsplitpat.c

Subdirectory \startup

wstdenvp.c

Subdirectory \stdio

w_open.c
wfdopen.c
wfopen.c
wfreopen.c
wpopen.c
wtempnam.c
wtmpfile.c

Subdirectory \time

wasctime.c
wctime.c
wstrdate.c
wstrtime.c
wutime.c

-----------------------------------------------------------------

Fri 17-Dec-93	(GregF)

crtwin32\makefile
	Simplified some more.

-----------------------------------------------------------------

Thu 16-Dec-93	(GregF)

libwin32\makefile
	Added -opt:noref to Alpha build of msvcrt20.dll

-----------------------------------------------------------------

Mon 13-Dec-93	(SteveSa)

crtwin32\h\heap.h - cosmetic changes
crtwin32\heap\heapinit.c - cosmetic change
crtwin32\h\malloc.h - add _heapused()
crtwin32\heap\sources - add heapused.c
crtwin32\heap\heapused.c - NEW FILE containing _heapused()
libwin32\lib\i386\msvcrt20.def

	Added new routine _heapused() which returns the number of bytes
	of memory reserved by the heap.  It takes two parameters, either
	or both of which may be null.  If non-null, values are stored
	through them.  The first pointer will be set to the number of
	bytes devoted to allocated blocks in the heap, including headers.
	The second value will contain the total of all committed memory,
	both free blocks and in-use blocks.

-----------------------------------------------------------------

Mon 13-Dec-93	(SteveSa)

crtwin32\dllstuff\crtlib.c
crtwin32\h\mtdll.h
crtwin32\startup\dllcrt0.c
crtwin32\startup\thread.c
crtwin32\startup\tidtable.c
	Add new routine _freeptd() which frees up the C run-time's per-thread
	data.  _freeptd() is called in _beginthread() and on DLL_Thread_Detach
	notifications in both MSVCRT*.DLL and DLL's linked with LIBCMT.LIB.
	Note: _freeptd() frees up not only the per-thread data structure but
	also any subordinate buffers that it points to.  The old code had a
	leak even if the user called _beginthread/_endthread because the
	subordinate buffers allocated by tempnam/tmpfile/gmtime/ctime/etc.
	were NEVER freed up.

-----------------------------------------------------------------

Mon 13-Dec-93	(GregF)

crtwin32\h\heap.h
crtwin32\heap\heapadd.c, malloc.c, realloc.c
	Parameterized the allocation granularity as _GRANULARITY, defined
	to be 8 on MIPS, 4 otherwise (currently). Edited size rounding
	in malloc.c and realloc.c, and size and alignment checking in
	heapadd.c, accordingly.

crtwin32\h\excpt.h
	Alpha now sports a spiffy MS front-end, hence syntax of __try -
	__except contructs (e.g., __exception_code) is the same as it is
	for the x86 and MIPS compilers.

-----------------------------------------------------------------

Wed 08-Dec-93	(GregF)

crtwin32\libwin32\makefile
	Added #if !$(ALPHA) to the checks made before a default target
	(processor) pecification is used.

-----------------------------------------------------------------

Tue 07-Dec-93	(GregF)

crtwin32\mbstring\mbprint.c, mbscan.c
	Cast in second arg to va_start was choking alpha compiler!

-----------------------------------------------------------------

Mon 06-Dec-93	 (ChrisWei)

Changed:

crtwin32\h\mbstring.h, tchar.h
crtwin32\mbstring\sources

Added:

crtwin32\mbstring\mbconv.c mbfpconv.c, mbprint.,c mbvprint.c, mbscan.c

        Type-safe MB tchar mappings.

-----------------------------------------------------------------

Fri 03-Dec-93	(GregF)

crtwin32\misc\abs.c, labs.c, rotl.c, rotr.c
crtwin32\string\memcmp.c, memcpy.c, memset.c, strcat.c, strcmp.c, strlen.c
	Enabled #pragma function() directives for all MS front-ends (esp.,
	the Alpha compiler)

crtwin32\string\strset.c
	Added  #pragma function() for Alpha build.

-----------------------------------------------------------------

Wed 01-Dec-93	 (ChrisWei)

crtwin32\startup\crtlib.c [wcrtlib.c removed]
        Create both ascii and wide argv, create only ascii environ for dll.

crtwin32\h\tchar.h
        Fixed STDC inlining check.

-----------------------------------------------------------------

Wed 01-Dec-93	 (ChrisWei)

Files added:

crtwin32\startup\wstdenvp.c
crtwin32\misc\setenv.c, wsetenv.c, wputenv.c, wgetenv.c, wtombenv.c, mbtowenv.c

Files changed:

crtwin32\h\internal.h, tchar.h, stdlib.h
crtwin32\startup\crt0.c, dllcrt0.c, crt0dat.c, stdenvp.c, sources
crtwin32\dllstuff\crtlib.c
crtwin32\misc\getenv.c, putenv.c, sources

Add wide char environment variables. 


crtwin32\dos\chdir.c
        Set OS drive leter strings.

-----------------------------------------------------------------

Wed 01-Dec-93	 (GregF)

libwin32\makefile
	Added alpha support and cleaned up a bit.

libwin32\lib\alpha
	    \alpha\msvcrt20.def
	Def file to build Alpha version of msvcrt20.[dll|lib].

libwin32\i386\msvcrt20.def
	Added exports of some old, obsolescent functions (e.g., _sleep)
	which we need to support for NT SDK compatibility.

libwin32\mips\msvcrt20.def
	Added exports for 64-bit integer arithmetic helpers. Added exports
	for obsolescent functions as described above.

libwin32\tools\alpha
	Added to hold alpha build of tools. If we ever get an alpha, that
	is...

-----------------------------------------------------------------

Wed 01-Dec-93	 (GregF)

crtwin32\buildcrt.cmd
	Revised for new directories (esp., helpers) and changes to
	dirs file. Also fiddled with when linkopts is built.

crtwin32\crt32.def
	Cleaned up and simplified.

crtwin32\dirs
	Merged in NT SDK version.

crtwin32\makefile
	Alpha support. MIPS compiler helpers for 64-bit int arithmetic.
	Lot of cleanup.

crtwin32\convert\iswctype.c
	Always build is_wctype() (not just for _NTSDK).

crtwin32\helper
	\helper\*.*
	       \mips
	       \mips\*.*
	Compiler helper routines. For now, these 64-bit integer
	arithmetic helpers for MIPS compiler.

crtwin32\small
	\small\*.*
	      \mips
	      \mips\huge.s
	Used for NT SDK build only (small.lib).
        
-----------------------------------------------------------------

Mon 29-Nov-93	(ChrisWei)

crtwin32\dos\chdir.c, drive.c
crtwin32\misc\putenv.c
crtwin32\startup\stdenvp.c
        No longer store current drive in CRT env strings.

crtwin32\h\internal.h
        Remove undef GetEnvStrings.
        
-----------------------------------------------------------------

Wed 24-Nov-93   (ChrisWei)

libwin32\include\stdarg.h, wchar.h, ctype.h, dos.h, string.h, time.h, 
                stdlib.h, tchar.h
        Update release headers. Now in sync.
        
-----------------------------------------------------------------

Wed 24-Nov-93   (ChrisWei)

Files added:
crtwin32\dllstuff\wcrtexe.c, wcrtlib.c, wdllargv.c, sources
crtwin32\linkopts\wsetargv.c
crtwin32\startup\wcrt0.c, wdllcrt0.c, wstdargv.c, wwild.c, wwincrt0.c, 
                _wstargv.c, sources

Files changed:

crtwin32\h[libwin32\include]\dos.h, internal.h, stdlib.h, tchar.h
crtwin32\dllstuff\crtexe.c, crtlib.c, sources
crtwin32\startup\crt0.c, crt0dat.c, dllcrt0.c, stdargv.c, wild.c, sources

        Added wide argv handling. Not yet in exec/spawn, etc.

-----------------------------------------------------------------

Mon 22-Nov-93   (ChrisWei)

crtwin32\h[libwin32\include(before next drop)]\ctype.h, string.h, wchar.h
        Use #define wcsxxx _wcsxxx only for SDK, define protos for 
        oldnames.lib for Dolphin. Also, wide char stuff outside of wchar.h 
        must have !__STDC__ test around it.

-----------------------------------------------------------------

Thu 18-Nov-93   (ChrisWei)

crtwin32\misc\aw_*.c

        Test for entry point function stubs.

-----------------------------------------------------------------

Mon 15-Nov-93   (ChrisWei)

crtwin32\h\wchar.h - get rid of W4 struct tm warnings
libwin32\makefile - add to oldnames.lib

-----------------------------------------------------------------
Mon 15-Nov-93   (ChrisWei)

crtwin32\string\strcoll.c, stricoll.c, wcscoll.c, wcsicoll.c,
        strlwr.c, strupr.c, wcslwr.c, wcsupr.c,
        strxfrm.c, wcsxfrm.c
crtwin32\misc\aw_*.c, getqloc.c, initctyp.c, inithelp.c
crtwin32\mbstring\ismbalnm.c, ismbgrph.c, ismbpunc.c
crtwin32\h\setlocal.h
crtwin32\convert\isctype.c, iswctype.c, 
        tolower.c, toupper.c, towlower.c, towupper.c

        Added code page to __crtxxx() calls to allow the caller to determine
        the code page to be used in MB/WC translation. For Dolphin bug #3778.

crtwin32\misc\getqloc.c
        Test all code pages, even ones from OS.

crtwin32\h\tchar.h
libwin32\include\tchar.h
        isascii, isxdigit map to wrong name on MB case.

-----------------------------------------------------------------

Fri 12-Nov-93	(GregF)

crtwin32\convert\strtoq.c
	Added for compatilibity with NT SDK (Alpha only). Only built
	for Alpha so it is doesn't affect x86 or MIPS builds.

-----------------------------------------------------------------

Wed 10-Nov-93	(GregF)

crtwin32\time\systime.c
	Added for compatilibity with NT SDK. Not added to sources yet,so
	it is not getting built.

-----------------------------------------------------------------

Tue 09-Nov-93	(GregF)

crtwin32\startup\crt0.c
	Guard as much as possible of the init. code in the __try/__except
	statement. The important point is UnhandledExceptionHandler() now
	gets called for exceptions that occur during the execution of
	constructors for static C++ objects. Also, moved __initmbctable
	call to here, just before calls to _setargv and _setenvp.

crtwin32\startup\crt0dat.c
	Removed call to __initmbctable from _cinit. The ctype table must
	be initialized before command line arguments and environment strings
	are process, thus it must go in crt0.c, dllcrt0.c and crtlib.c.

crtwin32\startup\dllcrt0.c
	Added call to __initmbctable (used to be in crt0da.c).

crtwin32\dllstuff\crtexe.c
	Guard as much as possible of the init. code in the __try/__except
	statement. For crtexe.c, this is just about everything.

crtwin32\dllstuff\crtlib.c
	Added call to __initmbctable (used to be in crt0dat.c).

-----------------------------------------------------------------

Tue 02-Nov-93	(GregF)

crtwin32\h\conio.h
	Made port i/o prototypes conditional on _M_IX86 (they are MS
	and x86 specific extensions).

crtwin32\h\excpt.h
	Don't redefine C++ EH keywords!

crtwin32\h\fltintrn.h
	Disabled 4069 warning!

crtwin32\h\stdlib.h
	Re-removed obsolete version and mode variables, and associated
	baggage.

-----------------------------------------------------------------

Thu 28-Oct-93	(SteveSa)

crtwin32\h\ios.h
crtwin32\h\streamb.h
crtwin32\iostream\ios.cxx
crtwin32\iostream\mtlock.c
crtwin32\iostream\streamb.cxx
	Critical sections allocated for iostream objects were not being
	de-activated by calling the Win32 API DeleteCriticalSection in
	their destructor.  Added new function _mtlockterm() which is the
	analog of _mtlockinit().  Just free-ing the memory malloc-ed for
	a critical section does not free up the resources that NT allocates
	for a critical section when you call InitializeCriticalSection().

-----------------------------------------------------------------

Tue 26-Oct-93	(ChrisWei)

added files:
	crtwin32\misc\mbval.c setmbval.c

changed files:
	crtwin32\misc\sources, aw_cmp.c, aw_str.c, aw_map.c
	crtwin32\stdio\fgetwc.c
	crtwin32\convert\_mbslen.c, mblen,c, mbstowcs.c, mbtowc.c

        Add test for invalid MB chars. Since requisite flag not supported
        by older NT version, at startup we confirm if flag is supported.

-----------------------------------------------------------------

Fri 22-Oct-93	(ChrisWei)

added files:
	crtwin32\mbstring\ismbalnm.c, ismbgrph.c, ismbpunc.c

changed files:
	crtwin32\h\mbstring.h, tchar.h
	crtwin32\mbstring\sources
	libwin32\lib\i386[\mips]\msvcrt20.def

                These new functions fill out holes in the ismbc* set
        and provide some missing mappings for tchar.h.


crtwin32\misc\aw_str.c
	fixed bug

crtwin32\mbstring\ismbknj.c
	now return FALSE outside of Japan

-----------------------------------------------------------------

Fri 22-Oct-93	(SteveSa)

crtwin32\dllstuff\i386\cinitexe.mak, cinitexe.asm
crtwin32\dllstuff\{i386,MIPS}\cinitexe.obj
crtwin32\startup\i386\crt0init.mak, crt0init.asm
crtwin32\startup\{i386,MIPS}\crt0init.obj
	Change the attribute of the directive section (.drectve) and
	make the symbol name match the section name (both lower case).

-----------------------------------------------------------------

Fri 22-Oct-93	(GregF)

crtwin32\stdio\fread.c, fwrite.c
	Fixed divide-by-0 error which would occur if one used setvbuf
	to completely unbuffer the stream.

-----------------------------------------------------------------

Fri 22-Oct-93	(ChrisWei)

addfiles:
	libwin32\tools\i386[\mips]\aliasobj.exe
        libwin32\tools\source\aliasobj.c
            JonM's new program to build alias objects for oldnames.lib

changes:
	crtwin32\lib\i386[mips]\msvcrt20.def
            add __mbcodepage to exports
	libwin32\buildall.cmd
            clean up MIPS build
	libwin32\makefile
            finish MIPS build, install new oldnames.lib build procedure

-----------------------------------------------------------------

Thu 21-Oct-93	(GregF)

crtwin32\winheap, winheap\*.*
	Picked up winheap directory from crt32 tree. Cleaned up the
	sources a little.

-----------------------------------------------------------------

Wed 20-Oct-93	(SteveSa)

crtwin32\dllstuff\i386\cinitexe.mak, cinitexe.asm
crtwin32\dllstuff\{i386,MIPS}\cinitexe.obj
crtwin32\startup\i386\crt0init.mak, crt0init.asm
crtwin32\startup\{i386,MIPS}\crt0init.obj
	Cleaned up make process to create I386 and MIPS versions
	of cinitexe.obj and crt0init.obj.  Added MSVCNT v1.0
	linker enhancement directives to MIPS versions (which merge
	.CRT into .DATA and cause a default search of KERNEL32.LIB).

crtwin32\dllstuff\MIPS\cinitexe.obj
crtwin32\lowio\MIPS\cinitcon.obj
crtwin32\misc\MIPS\cinitcnv.obj
crtwin32\misc\MIPS\cinitone.obj
crtwin32\startup\MIPS\crt0init.obj
crtwin32\stdio\MIPS\cinitstd.obj
crtwin32\stdio\MIPS\cinittmp.obj
crtwin32\time\MIPS\cinitclk.obj
	Changed CPU type of MIPS objects from R3000 (0x162) to R4000 (0x166)

libwin32\tools\source\i386mips.c,
libwin32\tools\i386mips.exe - tool to convert i386 data-only objects
	to MIPS by changing the machine type and relocation types.
	Changed CPU type of target from R3000 to R4000, fixed display
	of raw data in the object file being edited.

-----------------------------------------------------------------

Tue 19-Oct-93	(ChrisWei)

crtwin32\h\	mbdata.h, mbstring.h - remove _MBCS test and SBCS defines

crtwin32\mbstring\mbsicmp.c, mbsnicmp.c mbsnbicm.c - lowercase compare

-----------------------------------------------------------------

Mon 18-Oct-93	(ChrisWei)

crtwin32\h\	mbctype.h - fix prototype
		tchar.h - add missing mappings

libwin2\include\*.h, sys\*.h - updated from crtwin32 tree

libwin32\makefile, buildall.cmd - add MIPS support & change back to msvcrt20!!
libwin32\lib\i386(mips)\msvcrt30.def -> msvcrt20.def

-----------------------------------------------------------------

Mon 18-Oct-93	(GregF)

crtwin32\misc\sources, i386\setjmp.asm, i386\setjmpex.asm (new)
	Picked up support for NT SDK's setjmp/setjmpex. For Dolphin build,
	the both setjmp and setjmpex will be "EH safe". For _NTSDK, only
	setjmpex will be.

crtwin32\misc\i386\exsup.asm
	Put in fix from Phil Lucido. The DF is indeterminate upon entry to
	_except_handler.

-----------------------------------------------------------------

Thu 14-Oct-93	(GregF)

crtwin32\h\excpt.h, float.h, stdio.h
	Merged again with NT version.

crtwin32\h\fltintrn.h, fstream.h, iomanip.h, ios.h, internal.h, iostream.h,
	   istream.h, malloc.h, mbctype.h, mbdata.h, mbstring.h
	Enclosed any #pragma-s in #ifdef _MSC_VER - #endif to hide them from
	inferior (i.e., non-MS) compilers and RC. Deleted obsolete build
	macro checks conditioned on COMBOINC in some files. Replaced MTHREAD
	with _MT. _ALPHA_ with _M_ALPHA. Deleted _MIPS_ (effectively replaced
	by _M_MRX000).

crtwin32\h\memory.h, new.h, ostream.h, process.h, search.h, setjmp.h,
	   setjmpex.h, signal.h, stdarg.h, stddef.h, stdiostr.h, streamb.h,
	   strstrea.h, syserr.h, tchar.h, varargs.h, wchar.h
crtwin32\h\sys\stat.h, timeb.h, types.h, utime.h
	Modified to support both Cuda and NT version.

-----------------------------------------------------------------

Wed 13-Oct-93	(SteveSa)

Renamed crtwin32/h/os2dll.h to mtdll.h.  Also changed the #include
	lines in all of the source files that include it.

-----------------------------------------------------------------

Fri 08-Oct-93	(GregF)

crtwin32\h\ios.h, locale.h, math.h, mbctype.h, mbstring.h
	Support both NT and Cuda.

-----------------------------------------------------------------

Fri 08-Oct-93	(GregF)

crtwin32\misc\sources, alpha, mips, alpha\*.*, mips\*.*
crtwin32\startup\sources, alpha, mips, alpha\*.*, mips\*.*
	Added stuff from crt32 (NT SDK) to support building for MIPS and
	Alpha.

-----------------------------------------------------------------

Weds 06-Oct-93	(GregF)

crtwin32\h\string.h
	Merged NT and Cuda.

crtwin32\h\assert.h, conio.h, ctype.h, direct.h, dos.h, errno.h, excpt.h,
	   float.h, fltintrn.h, fpieee.h, internal.h, io.h, malloc.h,
	   stdio.h, stdlib.h, time.h
	Fixed conditional #define for _CRTAPI2

-----------------------------------------------------------------

Weds 06-Oct-93	(GregF)

crtwin32\h\malloc.h
	Merged NT and Cuda. Changed _HEAP_MAXREQ to a more useful value.

crtwin32\heap\malloc.c, realloc.c
	Added range check to size requests in malloc, realloc, _expand

crtwin32\mbstring\m*.c (except for mbascii0.c, mbctype.c, mbscat.c,
		  mbsdup.c, mbspbrk.c, mbsspnp.c), s*.c, t*.c
	Replaced _CRTAPI* with __cdecl.

-----------------------------------------------------------------

Tue 05-Oct-93	(GregF)

crtwin32\mbstring\is*.c
	Replaced _CRTAPI* with __cdecl.

-----------------------------------------------------------------

Fri 01-Oct-93	(GregF)

crtwin32\hack
crtwin32\hack\makefile, sources, stubs.c
	Resurrected for NT SDK libs (libcnt.lib uses this, I believe)

-----------------------------------------------------------------

Fri 01-Oct-93	(ChrisWei)

Files changed:

crtwin32\h\stdio.h, wchar.h
libwin32\include\stdio.h, wchar.h
        Add fputws(), fgetws()

crtwin32\stdio\fgetwc.c, fputwc.c ungetwc.c
        Clean up TEXT test

crtwin32\stdio\fgets.c, sources
        Enable for fgetws(), fputws()

Files added:

crtwin32\ fgetws.c, fputws.c
        New wide char functions

-----------------------------------------------------------------

Thu 30-Sep-93	(GregF)

crtwin32\dos\getcwd.c
	Removed #include <error.h> - it was causing lots of annoying
	redefinition warnings.

crtwin32\exec\cenvarg.c, execl.c, execle.c, execlp.c, execlpe.c, spawnl.c
	      spawnle.c, spawnlp.c, spawnlpe.c
	Merged Cuda and NT versions.

crtwin32\exec\getproc.c, loaddll.c
	Resurrected for compatibility with NT SDK (had been considered
	obsolete and dropped from Cuda)"

-----------------------------------------------------------------

Wed 29-Sep-93	(GregF)

crtwin32\string\memcpy.c, memmove.c, memset.c, strcoll.c, stricoll.c,
		wcscoll.c, wcsicoll.c, strtok.c
	Merged Cuda and NT versions.

-----------------------------------------------------------------

Wed 29-Sep-93	(GregF)

crtwin32\convert\isctype.c, iswctype, mblen.c, mbstowcs.c, mbtowc.c,
		 tolower.c, toupper.c, towlower.c, towupper.c, wcstombs.c,
		 wctomb.c
	Merged Cuda and NT versions.

crtwin32\direct\seterrm.c, slbeep.c
	Restored and cleaned up these dinosaurs for the NT SDK build.

-----------------------------------------------------------------

Tue 28-Sep-93	(GregF)

crtwin32\h\io.h
	Restored an /* _MTHREAD_ONLY */ comment which I had accidently
	deleted (kept an internal-use-only preprocessor directive from
	being stripped out!).

-----------------------------------------------------------------

Tue 28-Sep-93	(ChrisWei)

The last of the _MBCS_OS and _KANJI merges:

h\mbctype.h, mbdata.h
mbstring\ismbalph.c, ismbbyte.c, ismbdgt.c, ismblwr.c, ismbprn.c, ismbspc.c, ismbupr.c, mbclevel.c, mbctype.c, mbsicmp.c, mbslwr.c, mbsnbicm.c, mbsnicmp.c, mbsupr.c, mbtohira.c, mbtokata.c, mbtolwr.c, mbtoupr.c, tojisjms.c, tombbmbc.c

The MB stuff now works properly for both Japan and generic MB languages.

-----------------------------------------------------------------

Mon 27-Sep-93	(ChrisWei)

crtwin32\mbstring\ismbknj.c, ismbprn.c., mbclevel.c, mbsnbcat.c,
        mbsncat.c, mbtohira.c, mbtokata.c, tojisjms.c, tombbmbc.c
crtwin32\h\mbctype.h, mbdata.h, mbstring.h
        _MBCS_OS & _KANJI merge: I have added all the Kanji-specific
functions to the normal build process, and merged the few functions
that were different under the two build scenarios.

convert\isctype.c, iswctype.c, tolower.c, toupper.c, towlower.c, towupper.c
misc\aw_cmp.c, aw_loc.c, aw_map.c, aw_str.c, getqloc.c, initcoll.c,
        initctyp.c, inithelp.c, inittime.c,	initnum.c, initmon.c
string\strcoll.c, stricoll.c, strlwr.c, strupr.c, strxfrm.c, wcscoll.c,
        wcsicoll.c, wcslwr.c, wcsupr.c, wcsxfrm.c

        NLS API A&W wrappers: Since Chicago supports only ASCII ("A")
flavors of certain NLS API functions, while NT supports only the
Unicode ("W") type, I have built CRT wrapper functions that, at
runtime, search for the desired type and uses the other if necessary.
These libs will now link on NT and Chicago. This has been partially
tested on NT but not at all on Chicago.

libwin32\include\float.h, fltintrn.h, fpieee.h, fstream.h, heap.h internal.h
	io.h, iostream.h, istream.h, stdio.h, stdlib.h, time.h,
        assert.h, conio.h, ctype.h, direct.h, dos.h, errno.h, excpt.h

        Checked in GregF's changes for Dolphin drop.

-----------------------------------------------------------------

Fri 24-Sep-93	(GregF)

crtwin32\h\float.h, fltintrn.h, fpieee.h, fstream.h, heap.h internal.h
	io.h, iostream.h, istream.h, stdio.h, stdlib.h, time.h

crtwin32\misc\getenv.c, initmon.c, initnum.c, inittime.c, onexit.c

	Merged NT SDK and Cuda versions.


-----------------------------------------------------------------

Fri 24-Sep-93	(ChrisWei)

crtwin32\buildcrt.cmd
libwin32\buildall.cmd
	Make MB build default.

-----------------------------------------------------------------

Thu 23-Sep-93	(GregF)

crtwin32\h\assert.h, conio.h, ctype.h, direct.h, dos.h, errno.h, excpt.h
	Merged NT SDK and Cuda versions.

-----------------------------------------------------------------

Wed 22-Sep-93	(GregF)

crtwin32\string\strlwr.c, strupr.c, wcslwr.c, wcsupr.c
	Merged NT SDK and Cuda versions.

crtwin32\time\utime.c
	Have NT convert local file time to system file time.

-----------------------------------------------------------------

Wed 25-Aug-93	(ChrisWei)

crtwin32\mbstring -
    Change all short params to int.
    Updated the following files from NT-J tree:
        mbsdec.c 
        mbsinc.c 
        mbschr.c 
        mbsnbcat.c 
        mbsnbset.c 
        mbsncat.c 
        mbsnset.c 
        mbsrchr.c 
        mbtohira.c 
        mbtokata.c 
        mbtolwr.c 
        mbtoupr.c 
        tojisjms.c 
        tombbmbc.c 

crtwin32\h -
    Change all short params to int.
    Updated the following files from NT-J tree:
        mbstring.h
    New tchar.h from Ikura.
        tchar.h

-----------------------------------------------------------------

Tue 17-Aug-93	(ChrisWei)

crtwin32\mbstring -
    Updated the following files from NT-J tree:
        mbctype.c
        mbschr.c
        mbsdec.c
        mbsinc.c
        mbsncpy.c
        mbsninc.c
        mbstok.c
        strdec.c
        strinc.c
        strninc.c
        tojisjms.c 
    Added the following files & updated mbstring\sources:
        ismbsle.c
        ismbstr.c
        mbclen.c
        mbccpy.c
        mbsnbcat.c
        mbsnbcmp.c
        mbsnbcpy.c
        mbsnbicm.c
        mbsnbset.c
        mbspbrk.c
        mbsspnp.c 

crtwin32\dos\fullpath.c
crtwin32\lowio\mktemp.c
crtwin32\misc\makepath.c
crtwin32\misc\splitpat.c
crtwin32\startup\stdargv.c
crtwin32\startup\wild.c
crtwin32\stdio\input.c
crtwin32\stdio\output.c
    Merged in NT-J MB changes.

-----------------------------------------------------------------

Fri 06-Aug-93	(SteveSa)

crtwin32\heap\realloc.c -
	Fix bug which occurs when realloc() cannot expand the block in place
	and cannot malloc a new block.  The code was free-ing the successor
	block, a very, very bad thing to do.  The bug occurred rarely because
	it is hard to run out of memory on Windows NT, but it was found by
	the Phar Lap TNT DOS Extender team, where memory is less abundant.
	It looks like this bug was there in the sources since 1989!

-----------------------------------------------------------------

Fri 30-Jul-93	(GregF)

crtwin32\h\internal.h
crtwin32\misc\winsig.c, winxfltr.c
	When a SIGFPE handler has been installed and an FPE occurs, the
	handling for ALL of the FPE-s must be reset to SIG_DFL before calling
	the user's handler (I had been only resetting the handling for the
	one FPE).

-----------------------------------------------------------------

Tue 27-Jul-93	(GregF)

crtwin32\stdio\output.c
	Generalized a bug fix MattBr originally made for the POSIX build
	only. Now, the static functions write_multichar and write_string
	stop trying to write out characters when an error occurs.

-----------------------------------------------------------------

Fri 27-Jul-93	(GregF)

crtwin32\direct\findfile.c
crtwin32\dos\stat.c
crtwin32\h\internal.h
crtwin32\lowio\fstat.c
crtwin32\time\dtoxtime.c, time.c
	Changed so that the only time values obtained and directly used
	from the system are LOCAL time values. This partially handles the
	problems caused by the incompatible definitions of system time
	between Win32 (UTC) and Win32C (local).

-----------------------------------------------------------------
|								|
| * The Final Drop for MSVCNT ver 1.0 was made at this point. * |
|								|
-----------------------------------------------------------------

Fri 23-Jul-93	(SteveSa)

vcrtlib\makefile - added heap/obj/i386/handler.obj to list of C++
	objects mentioned to the linker, so that set_new_handler()
	will be exported from MSVCRT10.DLL.

vcrtlib\lib\i386\msvcrt10.def
	Added _heapadd, _heapchk, _heapmin, _heapset, _heapwalk
	to the list of functions exported by MSVCRT10.DLL.

-----------------------------------------------------------------

Thu 15-Jul-93	(SteveSa for GregF)

<<< Corresponding changes were also made to \\orville\razzle\src\crt32 >>>

vcrt32\time\ftime.c
vcrt32\time\localtim.c
vcrt32\time\mktime.c
vcrt32\time\strftime.c
vcrt32\time\tzset.c
	The routines ftime, localtime, mktime, and strftime were calling
	_tzset to make sure that the timezone/daylight/tzname variables
	were set.  They now call __tzset.  __Tzset calls _tzset the first
	time it is called and thereafter just returns.  The reason for
	this change is that _tzset is very slow if it finds no "TZ"
	environment variable, because in that case it calls the Win32
	routine GetTimeZoneInformationW.

	This behavior is consistent with our 16-bit libraries.  If the user
	changes the "TZ" variable (by calling putenv()), the routine _tzset
	must be called explicitly to make the change to "TZ" effective.

-----------------------------------------------------------------

Wed 14-Jul-93	(SteveSa)

<<< Corresponding change made by Steve Wood to \\orville\razzle\src\crtlib >>>

vcrtlib\lib\i386\msvcrt10.def
	Added _clear87 to the list of functions exported by MSVCRT10.DLL.

-----------------------------------------------------------------

Tues 13-Jul-93	(GregF)

vcrt32\lowio\open.c
	_read_lk() was being called to read the last character of a text
	file, to see if it was ^Z. Well, _read_lk() will return 0 if it
	read a single ^Z (treats it as an eof flag rather than a char).

-----------------------------------------------------------------

Thu 01-Jul-93	(SteveSa)

<<< Corresponding change was also made to \\orville\razzle\src\fp32 >>>

vcfp32\conv\strgtold.c
	Made buf[] a stack local, not a static global, to avoid bugs in
	multi-thread models.

-----------------------------------------------------------------
|								|
|	***  The "Jaws" Drop was made at this point.  ***	|
|								|
-----------------------------------------------------------------

Wed 30-Jun-93	(GregF)

<<< Corresponding change was also made to \\orville\razzle\src\crt32 >>>

vcrt32\time\tzset.c
	Added limited support for system's notion of local time. If there
	is no TZ environment variable, I attempt to use GetTimeZoneInform-
	ation to determine the offset to local time and whether or not
	daylight saving time exists in the time zone.

-----------------------------------------------------------------

Tue 29-Jun-93	(GregF)

vcrt32\stdio\ftell.c
	Fixed another nasty bug with the variable buffer sizing. ftell
	was using _bufsiz as the size of the last read request from the
	file, which isn't always true.

-----------------------------------------------------------------

Tue 22-Jun-93	(GregF)

vcrt32\h\file2.h
vcrt32\stdio\_filbuf.c, _freebuf.c, fseek.c, setvbuf.c
	Introduced _IOSETVBUF flag to fix an interaction between
	setvbuf() and the scheme for using a variable buffer size on
	"random access" files opened for read-access-only. The way to
	fix the bug was to introduce a new flag, _IOSETVBUF, and use to
	suppress this variable buffer size hooha.

-----------------------------------------------------------------
|								|
| Weekly Drop .3167 (Wed 16 June 1993) was made at this point.	|
|	(The libs were actually rebuilt Thu 17 June 1993.)	|
|								|
-----------------------------------------------------------------

Thu 17-Jun-93	(JamesMa)

vcrt32\include\float.h
	Changed _statusfp & _clearfp to macros.
	
-----------------------------------------------------------------

Weds 16-Jun-93	(GregF)

vcrt32/string/i386/strcat.asm, strcmp.asm, strlen.asm
	Added FPO directives.

-----------------------------------------------------------------

Tue 15-Jun-93	(GregF)

vcrt32/direct/sources
vcrt32/direct/i386/enable.asm
vcrt32/h/dos.h
	Resurrected old x86-specific functions, _enable() and _disable().

-----------------------------------------------------------------

Mon 14-Jun-93	(GregF)

vcrt32/string/i386/strcmp.asm
	Fixed special case bug found by DanS.

-----------------------------------------------------------------
|								|
| Weekly Drop .3160 (Wed 09 June 1993) was made at this point.	|
|								|
-----------------------------------------------------------------

Wed 09-Jun-93	(SteveSa)

<< Corresponding changes made to \\orville\razzle\src\crt32 and crtlib >>

vcrt32/h/iomanip.h
vcrtlib/include/iomanip.h
	The const keyword was added to the declarations of the << and >>
	operators of SMANIP, whatever that means.  This apparently fixes
	Cuda Bug 5048, an unnecessary warning message about lvalues and
	what not.

----------------------------------------------------------------------

Tue 08-Jun-93	(SteveSa)

vcrt32\dllstuff\crtlib.c, crtdll.c
vcrt32\startup\dllcrt0.c
	Clean up error handling in case of failure.
	If the user routine DllMain returns failure on Process Detach,
	C Run-Time clean-up should still occur.  (It now does.)  If the
	user DllMain returns failure on Process Attach, the CRT should
	clean up its own just-initialized data structures before
	returning failure.  MSVCRT10.DLL should also clean up its heap
	if it fails further initialization and will return failure on
	Process Attach.

	I also cleaned up the white space in some header files (fcntl.h).

----------------------------------------------------------------------

Tue 08-Jun-93	(GregF)

<<< Corresponding changes made to \\orville on 07-Jun>>

vcrt32\dllstuff\crtlib.c, crtdll.c
vcrt32\startup\dllcrt0.c
	Added a flag to kept track of process-attach notification to
	the DLL (our crtdll, or a user dll linked with one of our libs).
	The idea is to avoid doing any 'cleanup' on process-detach
	notification unless there has been a prior process-attach
	notification. Kinky, but this can occur as a result of a call
	to LoadLibrary that fails (e.g., load a DLL which uses several
	other DLLs and one of the DLLs is bad in some manner which causes
	the loader to quit and return an error).

----------------------------------------------------------------------

Mon 07-Jun-93	(ChrisWei)

<<< Changes already made by KarlSi to \\orville >>

vcrt32\h\stdlib.h
vcrt32\convert\_mbslen.c
vcrtlib\include\stdlib.h
vcrtlib\lib\i386\msvcrt10.def
	Change _mbslen to _mbstrlen, return type to size_t.

----------------------------------------------------------------------

Thu 03-Jun-93	(PhilipLu)

<<< Changes already made by GregF to \\orville >>

vcrt32\h\fcntl.h
	Add _O_SHORT_LIVED, _O_SEQUENTIAL, _O_RANDOM
vcrt32\lowio\open.c
vcrt32\stdio\_open.c
	Support lowio/stdio access to FILE_ATTRIBUTE_TEMPORARY,
	FILE_FLAG_SEQUENTIAL_ACCESS and FILE_FLAG_RANDOM_ACCESS
	CreateFile attributes

----------------------------------------------------------------------

Wed 02-Jun-93	(ChrisWei)

<<< Change made to \\orville\razzle\src\crt32 almost simultaneously >>>

vcrt32\convert\_mbslen.c
	verify MB validity
vcrt32\convert\mblen.c, mbtowc.c
	rewrite - bugs, optimize, error handling
vcrt32\convert\wctomb.c, wcstombs.c, mbstowcs.c, tolower.c, toupper.c
vcrt32\string\strlwr.c, strupr.c
	optimize and beautify

----------------------------------------------------------------------

Fri 28-May-93	(ChrisWei)

vcrt32\h[vcrtlib\include]\tchar.h
	Add another level of indirection to the _TEXT macro to allow
	_TEXT(__FILE__) to work.

----------------------------------------------------------------------

Wed 26-May-93	(SteveSa)

dos\getcwd.c -
	To get the current directory of a non-current drive, we were
	consulting the special environment variables.  It seems wiser
	to use the Win32 function GetFullPathName() to resolve this
	information.  The latter seems to work well on TNT.

vcrt32\h\process.h
vcrtlib\include\process.h
	Add prototypes for _CRT_INIT(@12) and DllMain(@12).  The latter
	is not declared if -Za is selected because of its non-ANSI name.

----------------------------------------------------------------------

Tue 25-May-93	(GregF)

h\stdio.h
stdio\_filbuf.c, fseek.c
	Use a small buffer size (_SMALL_BUFSIZ) for the first _filbuf
	call following an fseek on a read-access-only file. The idea is
	to reduce the penalty of a large default buffer size on random
	access files, at least those which are opened only for read
	access.

----------------------------------------------------------------------

Mon 24-May-93	(SteveSa)

vcrt32/makefile
vcrtlib/makefile - new object atonexit.obj is added to MSVCRT.LIB

vcrt32/h/stdlib.h
vcrtlib/include/stdlib.h -
	atexit/_onexit/onexit no longer take _CRTIMP [ __declspec(dllimport) ]

vcrtlib/lib/i386/msvcrt10.def - atexit/_onexit are now exported only
	as indirects (_imp__*) so that they will not be called directly
	Also added __dllonexit.

vcrt32/dllstuff/sources - add atonexit.c
vcrt32/dllstuff/atonexit.c - implements atexit/_onexit for EXEs and DLLs
	linked with MSVCRT.LIB.  At run-time, the code will implement
	either a call to __dllonexit to maintain a private atexit/_onexit
	list for the DLL (which will be called on DLL process detach)
	or else a call to _onexit exported from MSVCRT10.DLL for an EXE.

vcrt32/dllstuff/crtexe.c
vcrt32/dllstuff/crtdll.c - minor changes to support the new atexit/_onexit

vcrt32/misc/onexit.c - add __dllonexit routine for CRTDLL model only

	Before these changes, a DLL which was loaded and unloaded dynamically
	(via LoadLibrary/FreeLibrary) which also registered C++ destructors 
	or called atexit/_onexit would add entries to the process-wide
	atexit table in MSVCRT10.DLL.  That table was not processed until
	process termination, at which time the d-tors or atexit routines
	were long gone.  Those d-tors and atexit routines must be called
	when the DLL is unloaded, whenever that is.  An EXE linked with
	MSVCRT.LIB remains pretty much the same, but a DLL linked with
	MSVCRT.LIB now does the right thing in all cases.

----------------------------------------------------------------------

Tue 25-May-93	(GregF)

string\strspn.c, strtok.c
	Properly handle chars > 127 in both the delimiter and source
	strings. Note that strspn.c isn't actually used in our build
	(we use i386\strspn.asm). The change to strspn.c is identical
	to the one made to crt32\string\strspn.c on \\orville\razzle.
	However, the change to strtok.c is a bit more efficient than
	the bug fix I made to the crt32 version.

----------------------------------------------------------------------

Fri 21-May-93	(GregF)

<<< Change made to \\orville\razzle\src\crt32 simultaneously >>>

convert\strtol.c, wcstol.c
	Fixed bug in strtoul/wcstoul introduced by last 'fix'.

----------------------------------------------------------------------

Thu 20-May-93	(GregF)

<<< Change made to \\orville\razzle\src\crt32 simultaneously >>>

misc\getqloc.c, initctyp.c, initmon.c, initcoll.c, initnam.c,
     inittime.c
	replaced #include <windef.h> and #include <winnls.h> with
	#include <windows.h>

----------------------------------------------------------------------

Tue 18-May-93	(SteveSa)

tools\win32\relinc.if
h\stdarg.h
h\stdio.h
h\varargs.h
h\wchar.h
	Change #if defined(FOO) to #ifdef FOO for _ALPHA_, _MIPS_, and
	_M_MRX000.  Move those symbols in the if-stripper script from
	enabled & kept to disabled & discarded.  MIPS & ALPHA support
	is inappropriate for Visual C++ v1.0 for Windows NT.

----------------------------------------------------------------------

Mon 17-May-93	(GregF)

dllstuff\crtexe.c
startup\crt0.c
startup\stdargv.c
	Handle a quoted program name with embedded spaces ("argv[0]").

----------------------------------------------------------------------

Mon 17-May-93	(SteveSa)

h\io.h -
	The oldnames #defines used to be suppressed if __cplusplus was
	defined.  KarlSi made this change last summer because #define-ing
	open, read, write, etc.  User C++ code was likely to use those
	names.  Now that we do link-time aliasing, we need not worry about
	these names and C++ code.

----------------------------------------------------------------------

Tue 11-May-93	(GregF)

h\stdio.h
lowio\chsize.c
stdio\_file.c, _getbuf.c, _sftbuf.c, fread.c, fwrite.c, setbuf.c
	Introduced the manifest constant _INTERNAL_BUFSIZ, and used
	it to specify the default size for stdio buffers. The only
	file that now references the BUFSIZ is setbuf. Stdio buffers
	are now 4K (#define _INTERNAL_BUFSIZ 4096) by default.

----------------------------------------------------------------------

Mon 10-May-93	(GregF)

<<< Change made to \\orville\razzle\src\crt32 simultaneously >>>

stdio\fflush.c
	Removed bogus call to ftell (inadvertent part of a change made
	by MattBr on 3-10-93).

----------------------------------------------------------------------

Mon 10-May-93	(ChrisWei)

misc\setlocal.c - minor bug fix.
h[vcrtlib\include]\wchar.h - remove unneeded protos
stdio\fgetwc.c, fputwc.c, ungetwc.c, _flsbuf.c, _filbuf.c
	- more fixes, optimizations, better error handling
iostream\istrldbl.cxx, ostrldbl.cxx, sources
	- enable operator<<(long double)
h[vcrtlib\include]\istream.h, ostream.h
	- enable operator<<(long double)

----------------------------------------------------------------------

Mon 10-May-93	(GregF)

<<< Change made to \\orville\razzle\src\crt32 simultaneously >>>

convert\strtol.c
	Fixed error check (didn't handle conversion of LONG_MIN
	correctly).
----------------------------------------------------------------------

Mon 10-May-93	(GregF)

<<< Change made to \\orville\razzle\src\crt32 simultaneously >>>

lowio\getch.c
	Was free-ing a bad pointer in _kbhit (Cuda bug 4373)

----------------------------------------------------------------------

Fri 07-May-93	(JonM)

h\setjmpex.h - created.
tools\win32\relinc.cmd - added setjmpex.h.

----------------------------------------------------------------------

Thu 06-May-93   (SteveSa)

h\internal.h
heap\heapinit.c
startup\dllcrt0.c
dllstuff\crtlib.c -
	Add _heap_term() to free up the memory (and address space) allocated
	for the heap.  _heap_term is called on DLL detach, but not in the EXE.
	The heap regions are decommitted and released (two separate calls
	since the tail part of a region may be uncommitted) and the pages
	that are used for heap descriptors are now chained together so that
	they too can be deallocated (released).  This was a tremendous
	problem with DLLs which were repeated loaded and unloaded since
	the process address space was being eaten up, even if not much
	actual virtual memory was allocated.

----------------------------------------------------------------------

Wed 05-May-93   (ChrisWei)

h\time.h - add wcsftime proto when !STDC
h\wchar.h, ctype.h - change is_wctype to iswctype as per new ISO
convert\iswctype - change is_wctype to iswctype as per new ISO

----------------------------------------------------------------------

Wed 05-May-93	(SteveSa)

startup\wild.c - use case-insensitive comparison (_stricmp) when sorting
	filenames matching a given wildcard command line argument
	(This change made by Steve Wood to the CRT32 project.)

----------------------------------------------------------------------

Wed 05-May-93	(GregF)

<<< Change made to \\orville\razzle\src\crt32 simultaneously >>>

startup\mlock.c
	Turned off DEBUG code.

----------------------------------------------------------------------

Tue 04-May-93   (ChrisWei)

convert\mbstowcs.c, wcstombs.c, mbtowc.c, wctomb.c
	Total rewrite of bogus code.
h\stdio.h
	Remove some unneeded protos.
stdio\fgetchar.c, fgetwchr.c, fputchar.c, fputwchr.c
	Move wide char code to its own file.

----------------------------------------------------------------------

Thu 29-Apr-93	 (GregF)

stdio\tmpfile.c
	Yet another bug in tmpnam() for multithread - I was neglecting
	to copy the generated filename from the main buffer to the per-
	thread buffer. What a cretin...

----------------------------------------------------------------------

Thu 29-Apr-93   (ChrisWei)

Enabled correct wide char print/scan/get/put. Gobs of files affected:

Files modified:

vcrt32\stdio\_filbuf.c, _flsbuf.c, _getbuf.c, setvbuf.c, fgetc.c, fgetchar.c,
	fputc.c, fputchar.c, input.c, output.c, winput.c, woutput.c, ungetc.c
vcrt32\h\[vcrtlib\include\]tchar.h, wchar.h, stdio.h, stdlib.h

Files Added:

vcrt32\stdio\_filwbuf.c, _flswbuf.c, fgetwc.c, fgetwchr.c, fputwc.c,
	fputwchr.c, ungetwc.c

----------------------------------------------------------------------

Wed 28-Apr-93   (SteveSa)

vcrt32/vcrt32.def
vcfp32/fp32.def
	Remove -Gf and -Gy (string pooling & COMDATs) from compiler
	options, undoing my change of Mon 26-Apr which added them.

----------------------------------------------------------------------

Wed 28-Apr-93   (JonM)

h\math.h
	Added "long double" functions as macros which call the
	"'double" functions with appropriate type conversions.

----------------------------------------------------------------------

Wed 28-Apr-93	(GregF)

string\i386\strcat.asm, strlen.asm
	Rewritten for the 486.

----------------------------------------------------------------------

Wed 28-Apr-93	(GregF)

<<< Change made to \\orville\razzle\src\crt32 simultaneously >>>

dllstuff\crtexe.c, crtlib.c
misc\winxfltr.c
startup\crt0.c, crt0msg.c, dllcrt0.c, thread.c
	Removed support for C RTEs _RT_STACK, _RT_INTDIV, _RT_NONCONT
	and _RT_INVALDISP. These are Win32 exceptions, and there was
	no reason not to just let the system exception handler handle
	them. Besides, it makes things easier for debuggers...

----------------------------------------------------------------------

Tue 27-Apr-93	(SteveSa)

dllstuff/crtlib.c
startup/tidtable.c
startup/crt0.c
startup/dllcrt0.c
h/internal.h - _mtinit now returns success or failure, rather than calling
	_amsg_exit when it cannot allocate a TLS index.  DLLs should fail
	to load, now exit the process.

h/heap.h
heap/heapinit.c
heap/heapgrow.c - initial heap region size defaults to large value (for
	Windows NT, where uncommitted memory is supported) but _heapinit
	now checks for Win32S or TNT and selects smaller values for those
	environments, where all memory is allocated (even if it is supposed
	to be uncommitted.)  Each successive heap region is twice as big
	as the previous one until the limit is reached.  The limit is now
	a variable rather than a constant, and it is also either a large
	value or a smaller one.

----------------------------------------------------------------------

Mon 26-Apr-93	(SteveSa)

vcfp32/tran/i386/87cdisp.asm - corrected a syntax problem which causes
	problems with MASM 6.10 (reported by Rich Shupak).

vcrt32/vcrt32.def	(*** NOTE: THIS CHANGE WAS UN-DONE on 28-APR-93 ***)
vcfp32/fp32.def - add -Gf and -Gy to build options (string pooling, COMDATs)

dos/fullpath.c
dos/getcwd.c - check for drive validity and set errno and _doserrno accordingly

----------------------------------------------------------------------

Mon 26-Apr-93	(GregF)

<<< Same change made to \\orville\razzle\src\crt32 on 23-April by SteveWo >>>

h\limits.h
	Restored new defs of CHAR_MIN, SHRT_MIN, INT_MIN and LONG_MIN.

----------------------------------------------------------------------

Sun 25-Apr-93	(Jamesma)

linkopts\fp10.c, linkopts\sources, makefile
	Added fp10.c - allows users to override new default 53-bit FP
	precision with full 64-bit precision (CUDA bug 2368).
	
----------------------------------------------------------------------

Fri 23-Apr-93	(GregF)

stdio\tmpfile.c
	Fixed 2444 (multiple threads would get the same names back from
	tmpnam). Also, made the namebufX buffers static - ANSI really does
	not allow returning an error from tmpnam or tmpfile because a
	malloc failed.

	I do not plan to make this change to the CRT32 tree on \\orville
	unless somebody in NT-land complains.

----------------------------------------------------------------------

Thu 22-Apr-93   (JonM)

misc\getqloc.c, misc\inithelp.c
	Fixed TNT compatibility problem by dynamically linking to
	GetLocaleInfoW().  Unfortunately it took me several tries to
	get this right.

startup\wincrt0.c
	Added a "-defaultlib:user32" directive for graphical startup,
	since it requires that MessageBox be linked.  (cuda:3521)

----------------------------------------------------------------------

Wed 21-Apr-93	(GregF)

<<< Same changes simultaneously made to \\orville\razzle\src\crt32 >>>

h\limits.h
	Restored old defs of CHAR_MIN, SHRT_MIN, INT_MIN and LONG_MIN.

----------------------------------------------------------------------

Wed 21-Apr-93	(GregF)

<<< Same changes simultaneously made to \\orville\razzle\src\crt32 >>>

convert\strtol.c, wcstol.c
	Removed assumption that LONG_MIN == -LONG_MAX.

----------------------------------------------------------------------

Tue 20-Apr-93	(SteveSa)

dllstuff/crtdll.c
startup/dllcrt0.c - add _CRT_INIT(@12) back in, make it co-exist with DllMain

h/internal.h
startup/crt0dat.c
dllstuff/dllcrt0.c - call _cexit on DLL Detach notification

h/heap.h
heap/growheap.c - successive heap regions double in size until reaching 16 MB

vcrtlib/makefile
vcrt32/h/malloc.h - alloca must be #define-d to be _alloca, not aliased at
	link-time using OLDNAMES.LIB.  _alloca is a compiler intrinsic.

----------------------------------------------------------------------

Tue 20-Apr-93	(GregF)

<<< Same changes simultaneously made to \\orville\razzle\src\crt32 >>>

h\limits.h
	Better defs of CHAR_MIN, SHRT_MIN, INT_MIN and LONG_MIN.

----------------------------------------------------------------------

Tue 20-Apr-93	(ChrisWei)

vcrtlib\lib\i386\msvcrt10.def
	Add isleadbyte to export list.

vcrt32, crt32\misc\getqloc.c
	Enable japan and others.

vcrt32\misc\initnum.c initmon.c initctyp.c
	Better return val check.

vcrt32\misc\inithelp.c
	JonM GetLocaleInfoW hack, fix casting bugs.

----------------------------------------------------------------------

Tue 20-Apr-93	(GregF)

<<< Same changes simultaneously made to \\orville\razzle\src\crt32 >>>

lowio\cgets.c, cputs.c
	Use ReadConsole and WriteConsole instead of ReadFile and WriteFile.

startup\stdargv.c
	Slightly change to test in do-while loop in parse_cmdline so that
	chars with high bit set (i.e., chars > 127) don't terminate the
	loop

----------------------------------------------------------------------

Mon 19-Apr-93   (SteveSa)

h/heap.h - reduce initial heap region from 4 MB to 16 KB.  Win32S and TNT
	have to allocate that region, not just reserve the address space!

h/internal.h,
dos/getcwd.c,
dos/stat.c -
	Move _validdrive() from stat.c to getcwd.c and made it static
	Removed it from internal.h since it is no longer shared.

misc/cmiscdat.c - remove obsolete variable _sigintoff

misc/winxfltr.c - put MT-only variable XcptActTabSize under #ifdef MTHREAD

startup/crt0.c,
startup/dllcrt0.c - remove obsolete variable _atopsp

startup/crt0dat.c - remove obsolete variable _child

----------------------------------------------------------------------

Thu 15-Apr-93   (JonM)

h\ios.h
h\streamb.h

	Added some _CRTIMP's (_mtlock, _mtunlock).

misc\i386\exsup.asm

	Put the signature 'XC00' in .text immediately before the
	beginning of the __except_handler2 function.  This is so the
	debugger can recognize it specially (request from MikeMo).

vcrtlib\makefile

	Added _tzset to oldnames.lib.

----------------------------------------------------------------------

Wed 14-Apr-93   (SteveSa)

vcrt32/makefile
dllstuff/dllmain.c - deleted
startup/dllmain.c - added
dllstuff/sources
startup/sources

	DLLMAIN.OBJ is needed for all 3 CRT library models, so I moved
	dllmain.c from dllstuff/ to startup/ and adjusted the sources files.
	DLLMAIN.OBJ goes into LIBC.LIB, LIBCMT.LIB and MSVCRT.LIB.
	It will not go into MSVCRT10.DLL because nothing there needs it.

----------------------------------------------------------------------

Wed 14-Apr-93   (SteveSa)

startup/tidtable.c
dllstuff/crtdll.c
dllstuff/crtlib.c
dllstuff/dllmain.c
dllstuff/sources
vcrt32/makefile
vcrtlib/makefile

	Change CRT entry point (notification routine) for DLLs
	from _CRT_INIT(@12) to _DllMainCRTStartup(@12).  This
	routine will call the user routine DllMain(@12) on all
	notifications.  If the user does not provide a DllMain
	there is a dummy one provided in MSVCRT.LIB (dllmain.c).

	The new file dllstuff/dllmain.c had to be added to
	dllstuff/sources.  VCRT32/makefile and VCRTLIB/makefile were
	changed to reflect the addition of DLLMAIN.OBJ to MSVCRT.LIB.

	Also, _CRTDLL_INIT and _DllMainCRTStartup (formerly _CRT_INIT)
	no longer _mtdeletelocks directly but now call _mtterm, which
	is for multi-thread termination what _mtinit does for multi-
	thread initialization.  _mtterm calls _mtdeletelocks and also
	frees up the TLS index.  The TLS index must be freed in case
	a DLL (or a DLL which references MSVCRT10.DLL) is repeatedly
	loaded and freed.  Otherwise you will run out of TLS indices.

----------------------------------------------------------------------

Wed 14-Apr-93   (JamesMa)

misc\i386\exsup.asm
	Remove setjmp(), longjmp() & raisex() routines for granularity
	purposes.
	
misc\i386\setjmp.asm
	New file containing setjmp(), longjmp() & raisex().
	
misc\sources
	Add setjmp.asm.
	
h\exsup.inc
	New file containing data structures & definitions common to
	exsup.asm & setjmp.asm.
	
----------------------------------------------------------------------

Wed 14-Apr-93   (ChrisWei)

vcrt32\misc\charmax.c
vcrt32\misc\lcnvinit.c
vcrt32\h\locale.h
vcrtlib\include\locale.h
	Cleanup and change _charmax from short to int.

vcrt32\time\strftime.c
	Bug fixes.

vcrt32\h\stdlib.h, ctype.h
vcrtlib\include\stdlib.h, ctype.h
	Change _mb_cur_max from short to int, simplify MB_CUR_MAX def.

vcrt32\string\wcsicmp.c, wcsnicmp.c
	Remove locale-sensitive stuff.
vcrt32\string\strcoll.c, stricoll.c, wcscoll.c wcsicoll.c
	Error sets errno, cleanup.

----------------------------------------------------------------------

Tue 13-Apr-93   (SteveSa)

h/setjmp.h
	Remove inappropriate _CRTIMP from declaration of setjmp
	(which is #define-d to _setjmp).  It is a compiler intrinsic

----------------------------------------------------------------------

Tue 13-Apr-93   (ChrisWei)

ANSI says that certain members of the lconv structure must be set to
CHAR_MAX, the value of which changes when the user compiles -J.

The following files were added:

vcrt32\misc\charmax.c
	Defines _charmax var and stuffs a pointer to the lconv_init
	function into initializer array.
vcrt32\misc\lcnvinit.c
	Sets the lconv members to UCHAR_MAX (255)

The following files were modified:

vcrtlib\makefile
	Add charmax.obj to objects in msvcrt10.lib.
vcrtlib\lib\i386\msvcrt10.def
	Add _lconv_init to exports.
vcrt32\misc\sources
	Add charmax.c, lcnvinit.c.
vcrt32\h\setlocal.h
	Add lconv struct definition.
vcrt32\h\locale.h
	Add extern _charmax reference when _CHAR_UNSIGNED defined.
vcrt32\dllstuff\crtexe.c
	Add xia..xiz initializers and initializer call.
vcrt32\dllstuff\i386\cinitexe.asm
	Add xia..xiz initializers.
vcrt32\dllstuff\i386\cinitexe.asm
	Add xia..xiz initializers.

----------------------------------------------------------------------

Tue 13-Apr-93   (JonM)

h\(various).h, sys\stat.h
	Using the new push/pop syntax for "pragma pack", modified the
	.h files to restore the packing state to what it was before
	the #include.

        Removed directives which suppressed the warning about a .h file
	changing the "pragma pack" state.

----------------------------------------------------------------------

Mon 12-Apr-93	(ChrisWei)

<<< Same change made previously to \\orville\razzle\src\crt32 >>>

vcrt32\h\ctype.h
vcrtlib\include\ctype.h
	Changed is* macros to evaluate args only once.
	Changed isw* macros to evaluate args only once.
	Protection around _MB_CUR_MAX macro.
vcrt32\h\wchar.h
vcrtlib\include\wchar.h
	Changed isw* macros to evaluate args only once.
vcrt32\h\stdlib.h
vcrtlib\include\stdlib.h
	Protection around _MB_CUR_MAX macro.

----------------------------------------------------------------------

Mon 12-Apr-93	(GregF)

<<< Same change simultaneously made to \\orville\razzle\src\crt32 >>>

stdio\popen.c

	Removed redundant CloseHandle call to close the child process
	handle from _pclose. By the time CloseHandle is called, an earlier
	call to _cwait has already called the child process handle. This
	was NTBUG #4165

----------------------------------------------------------------------

Thu 08-Apr-93	(ChrisWei)

vcrt32\h\errno.h - added EILSEQ errno = 42
vcrtlib\include\errno.h - added EILSEQ errno = 42
vcrt32\misc\syserr.c - added EILSEQ error message

----------------------------------------------------------------------

Thu 08-Apr-93	(SteveSa)

stdio/tmpnam.c - used access rather than _access
time/tzset.c - used strdup rather than _strdup
misc/getenv.c - used strnicmp rather than _strnicmp
misc/getqloc.c - used stricmp rather than _stricmp
misc/initnum.c - used strdup rather than _strdup

	Changing the OLD NAMES implementation from #define to
	prototypes and link-time aliasing revealed these five
	places where an old name was used in our source code,
	rather than the ANSI conforming new name (with a leading
	underscore.)  The #define's made these differences
	irrelevant, but now they are significant.  All were fixed.

h/direct.h 
	Fix oldnames prototype for getcwd() - had an extra parameter

vcrtlib\include
vcrtlib\include\sys
	Updated the ones that GregF missed.

----------------------------------------------------------------------

Thu 08-Apr-93	(GregF)

vcrtlib\include
	Updated header files to match vcrt32\h.

----------------------------------------------------------------------

Thu 08-Apr-93	(GregF)

<<< GregF change of 6 April to CRT32 project on \\orville\razzle >>>

vcrt32\time\dtoxtime.c
	Rewrote expression to avoid bogus compiler warning.

----------------------------------------------------------------------

Wed 07-Apr-93	(SteveSa)

Most Header Files (!!!)
and Some C Source Files
dllstuff/crtexe.c
dllstuff/crtlib.c
tools/win32/relinc.if
vcrtlib/lib/i386/msvcrt10.def

	Add _CRTIMP keyword to functions and variables exported from
	MSVCRT10.DLL.  In the cleansed (public) header files, this
	keyword evaluates to __declspec(dllimport) if _DLL is defined,
	and nothing otherwise.  For the internal build, it will evaluate
	to __declspec(dllexport) if CRTDLL is defined.  The _CRTIMP
	keyword is not necessary in the source code if the prototype
	in the header file uses it first.  Also, intrinsic functions
	like abs, _rotl, sin, atan, etc. cannot be _declspec-ed!
	I edited the .DEF file to change all of the exported data items
	from "foo_dll CONSTANT" to "foo DATA" to reflect this change.
	I also renamed _ValidDrive to _validdrive and __GetMainArgs to
	__getmainargs.  We should keep all CRT routines lower-case for
	clarity since Win32 APIs are mixed case.  In order to export
	the EXE's value of _fmode and _commode to MSVCRT10.DLL, I had
	to modify CRTLIB.C to use a different mechanism.  In the old
	days, the _DLL versions of _fmode and _commode could just be
	#undef-ined, but now the __declspec(dllimport) versions had to
	be declared directly (as int * _imp___fmode, etc.).  I had to
	add a special symbol, SPECIAL_CRTEXE, to INTERNAL.H and STDLIB.H
	which must be stripped during the cleansing process.

----------------------------------------------------------------------

Wed 07-Apr-93   (JamesMa)

iostream\ios.cxx, iostream\streamb.cxx
	Initialize LockFlg to -1 so that locking is enabled by default.
	
----------------------------------------------------------------------

Wed 07-Apr-93   (JonM)

h\ios.h, h\iostream.h, h\istream.h, h\ostream.h, h\streamb.h
	Added _CRTIMP's so that the iostream classes will be in
	msvcrt10.dll.

vcrtlib\makefile
	Enhanced the oldnames.lib build to add the import symbols too,
	for clients of msvcrt10.dll.

	Modified the msvcrt10.dll build so that we export the iostream
	classes.

vcrtlib\lib\i386\msvcrt10.def
	Add a couple of internal things (conversions between ASCII and
	10-byte reals) which the IDE debugger needs for displaying
	the contents of the x87 stack.

----------------------------------------------------------------------

Wed 07-Apr-93   (JonM)

misc\cenvarg.c
	Checked in a workaround for the NT bug where "CreateProcess()"
	doesn't propagate the current directory strings if there is a
	user-specified environment.  We now detect these in cenvarg()
	and prepend them to the user-specified environment block.

----------------------------------------------------------------------

Wed 07-Apr-93	(SteveSa)

h\fcntl.h
h\limits.h
	Fix copyright dates to 1993 (somehow these got missed before)

----------------------------------------------------------------------

Wed 07-Apr-93	(GregF)

<<< Same change simultaneously made to \\orville\razzle\src\crt32 >>>

lowio\fstat.c

	Made computation of file times consistent with _stat() (i.e.,
	wrong on FAT and HPFS, correct on NTFS, and correct on all of
	them if they ever fix underlying NT bug).

----------------------------------------------------------------------

Wed 07-Apr-93	(GregF)

<<< Same change simultaneously made to \\orville\razzle\src\crt32 >>>

dos\stat.c

h\sys\stat.h

	Made first arg type into a const char * (bug recently filed in
	the NTBUG database).

----------------------------------------------------------------------

Tue 06-Apr-93	(SteveSa)

Most Header Files (!!!)
and Many C Source Files

	Remove all occurrences of _VARTYPE1/_CRTVAR1 (which meant nothing)
	and change all occurrences of _CRTAPI[123] and _CALLTYPE[1234]
	to __cdecl.

----------------------------------------------------------------------

Mon 05-Apr-93	(GregF)

<<< Same change simultaneously made to \\orville\razzle\src\crt32 >>>

direct\findfile.c

dos\stat.c

h\ctime.h, internal.h

time\dtoxtime.c, ftime.c, gmtime.c, localtim.c, mktime.c, strftime.c,
     time.c, tzset.c, utime.c

	Adapted C8-16 time implementation for Windows NT.

----------------------------------------------------------------------

Mon 05-Apr-93   (JamesMa)

startup\crt0.c
	GUI apps exiting through _amsg_exit() now put up a pop-up message
	box describing the runtime error instead of trying to write to
	stderr.
	
startup\crt0msg.c
	Add _GET_RTERRMSG(), a routine needed for GUI error reporting.

----------------------------------------------------------------------

Mon 05-Apr-93   (JonM)

vcrtlib\makefile, vcrtlib\tools\genalias.*
	Changed the format of alias records used in oldnames.lib.
	Again oldnames.lib requires a recent linker in order to be
	built correctly.

----------------------------------------------------------------------

Mon 05-Apr-93   (JonM)

startup\i386\crt0init.mak, startup\i386\crt0init.obj
        Add "Remove" attribute to the .drectve section, to prevent it
        from showing up in .exe files.

----------------------------------------------------------------------

Thu 01-Apr-93	(ChrisWei)

vcrt32\startup\thread.c, crt0.c
	Change try, except to --try, __except.

vcrt32\convert\isctype.c
	Bug fix and optimization.

\vcfp32\fp32.def
	Turn on fp locale-sensitive radix char by defining _INTL.

----------------------------------------------------------------------

Wed 31-Mar-93	(ChrisWei)

vcrt32\h\excpt.h
vcrlib\include excpt.h
	Remove #define try, except, leave, finally.

----------------------------------------------------------------------

Tue 30-Mar-93	(GregF)

<<< GregF change of 26 March to CRT32 project on \\orville\razzle >>>

vcrt32\startup\thread.c
vcrt32\startup\tidtable.c

Initialize ptd->_pxcptacttab to _XcptActTab, ptd->_holdrand to 1L.

----------------------------------------------------------------------

Mon 29-Mar-93	(JonM)

vcrtlib\makefile
	Checked in a build for oldnames.lib.

	Warning: currently the oldnames.lib build requires a linker
	v.3085 or later to get a bug fix to the librarian (otherwise
	you get an oldnames.lib with no symbols in its directory).
	The fixed linker is not checked in to tools project yet, but
	will be this week.

vcrtlib\tools, vcrtlib\tools\mungeobj.exe, vcrtlib\tools\mungeobj.c
	Created "tools" directory and added a quick tool I wrote to
	map one shortname to another in a COFF object.

vcrtlib\oldnames, vcrtlib\oldnames\weak.asm
	Created "oldnames" directory and added weak.asm which is a
	generic weak extern definition.

----------------------------------------------------------------------

Thu 25-Mar-93	(ChrisWei)

h\ctype.h
exec\dospawn.c
convert\_mbslen.c, tolower.c toupper.c, towlower.c, towupper.c
	CTRL-Zs are EVIL.

h\ctype.h, vcrtlib\include\ctype.h
convert\toupper.c, tolower.c
	Define _tolower() and _toupper() when _INTL turned on.

----------------------------------------------------------------------

Wed 24-Mar-93	(ChrisWei)

in vcrt32\h, vcrtlib\include
types.h
	Change _dev_t from short to unsigned int.

in vcrt32\h, vcrtlib\include
fstream.h, ios.h, iostream.h, istream.h, ostream.h, streamb.h
	Eliminate "long double != double" warnings with #pragma warning.
	
vcrt32.def
	Turn on _INTL flag to enable CRT international support.

tools\win32\relinc.if
	_INTL is now defined for ifstrip.

vcrtlib\include\wchar.h, ctype.h
	Changed since _INTL is defined for ifstrip.

----------------------------------------------------------------------

Tue 23-Mar-93   (JonM)

makefile, dllstuff\makefile, dllstuff\i386\cinitexe.asm
	Added the same linker directives as my earlier change ... for
	msvcrt*.dll this time.
----------------------------------------------------------------------

Tue 23-Mar-93   (SteveSa - propogating a ChrisWei fix)

<<< ChrisWei change of 22 March to the CRT32 project on //orville/razzle: >>>

time\strftime.c - change C locale to 24 hour time

----------------------------------------------------------------------

Tue 23-Mar-93   (JonM)

startup\i386\crt0init.asm:
        Added linker directives to use "kernel32.lib" as a default
        library, and to merge the .CRT section into .data to save on
        section padding in the image file (and load one less page).

        It is necessary to run "link -edit" on the .obj file which
        comes out of Masm386, in order to set the "info" flag
        on the .drectve section.  Therefore I checked in crt0init.obj
        to the project, and added crt0init.mak which is how to build
        it.

makefile
        Now links the version of crt0init.obj which is checked in to
        the project, instead of building it from crt0init.asm.
startup\sources: removed crt0init

----------------------------------------------------------------------

Mon 22-Mar-93   (SteveSa - propogating GregF's and SteveWo's changes)

<<< GregF changes of 20 March to the CRT32 project on //orville/razzle: >>>

lowio\kbhit.c - deleted
lowio\ungetch.c - deleted
lowio\getch.c - rewritten to handle arrow keys and function keys
	now encompasses what was in ungetch.c and kbhit.c

lowio\putch.c - rewritten to use WriteConsole instead of WriteFile

stdio\fflush.c - changed so that it does not lock every stream
	on a _flushall() or fflush(NULL) call.

<<< GregF changes of 22 March to the CRT32 project on //orville/razzle: >>>

lowio\close.c - _close(STDIN) or _close(STDOUT) will not close the
	underlying NT file handle if STDOUT and STDERR are sharing
	the same handle.  Of course, closing both STDOUT and STDERR
	will close the underlying handle.

<<< SteveWo changes of 22 March to the CRT32 project on //orville/razzle: >>>

misc\getqloc.c
misc\initctyp.c
misc\initmon.c
misc\initnum.c
misc\inittime.c
misc\setlocal.c - MAKELCID takes two parameters now 

----------------------------------------------------------------------

Mon 22-Mar-93   (JonM)

lowio\open.c
        Fixed _open() so that it accepts _O_EXCL without _O_CREAT
	(ignoring _O_EXCL).  This is undefined behavior in the X/Open
	spec ... changed for consistency with 16-bit CRT.

	Also, it now accepts _O_CREAT | _O_EXCL | _O_TRUNC for opening
	new files.  This is crt16 behavior and is also required by
	X/Open.

	There remains a difference from the crt16 behavior ... the
	32-bit _open() will fail with _O_TRUNC if _O_RDONLY is used.
	This is the documented behavior ... the fact that the 16-bit
	libs accept this case is a bug.

----------------------------------------------------------------------

Mon 22-Mar-93   (JonM)

log.txt created, for tracking changes to the Cuda C runtime code on
\\hobie, which SteveSa has now split off from the NT group's sources
on \\orville\razzle.

----------------------------------------------------------------------