Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

598 lines
18 KiB

***************************************************************************
***************************************************************************
*** ***
*** This file contains the change history for the MSVC++ v4.1 C/C++ ***
*** Run-Time Libraries (that is, modifications since since 4.0). ***
*** The file should always be edited at the top so that the most ***
*** recent changes are at the beginning of the file (immediately ***
*** after this comment) and the oldest changes are at the end. ***
*** ***
***************************************************************************
***************************************************************************
-----------------------------------------------------------------
Wed 21-Feb-96 (SteveSa)
crtw32\misc\dbgheap.c
Protected the call to HeapValidate() in _CrtIsValidHeapPtr(), so
that it is skipped on Win32s and Windows 95, which don't support
HeapValidate(). Previous fix (14-Feb) was for Win32s DLL only.
-----------------------------------------------------------------
Mon 18-Feb-96 (SteveSa)
crtw32\lowio\osfinfo.c
Fixed error in file handle locking code that occurred on the
first file handle in a new block file handles. The wrong handle
was locked, which shows up dramatically in Windows NT v4.0.
-----------------------------------------------------------------
Wed 14-Feb-96 (SteveSa)
crtw32\misc\dbgheap.c
Again removed call to HeapValidate() in _CrtIsValidHeapPtr(),
BUT ONLY for Win32s DLL. The call remains for Windows 95/NT.
-----------------------------------------------------------------
Wed 31-Jan-96 (JamesMa)
fpw32\tran\i386\testfdiv.c
Now resets process affinity mask, not system affinity mask - at
the 'suggestion' of MarkL.
-----------------------------------------------------------------
Mon 22-Jan-96 (SteveSa)
crtw32\misc\dbgheap.c
Restored call to HeapValidate() to _CrtIsValidHeapPtr(). This call
was commented out last summer because of problems with the Debug IDE
BVTs (tests). Those problems cannot be reproduced.
-----------------------------------------------------------------
Fri 19-Jan-96 (GregF)
crtw32\time\tzset.c
Added bit of code to ensure the _tzname[] strings are terminated with
a null character. This was Speed bug 4552.
-----------------------------------------------------------------
Wed 03-Jan-96 (JamesMa)
fpw32\tran\i386\87triga.asm
Atan2(0,0) now returns 0 (Speed bug 2176).
-----------------------------------------------------------------
Tue 02-Jan-96 (JamesMa)
crtw32\misc\dbgdel.cpp
New file, split from dbgnew.cpp (Speed bug 3715).
crtw32\heap\setnewh.cpp
New file, split from handler.cpp (Speed bug 4130).
crtw32\misc\dbgnew.cpp, crtw32\heap\handler.cpp
makefile, makefile.inc, srcrel\pd-b, doc\copycrt.bat,
crtw32\misc\lsources, crtw32\heap\lsources
-----------------------------------------------------------------
Mon 01-Jan-96 (BryanT)
crtw32\h\limits.h
libw32\include\limits.h
Define LINK_MAX for POSIX
crtw32\h\wchar.h
libw32\include\wchar.h
Don't define some types for POSIX
-----------------------------------------------------------------
Thu 28-Dec-95 (GregF)
crt\crtw32\h\stdio.h
crt\crtw32\stdio\setmaxf.c, fflush.c
crt\libw32\msvcrt.src
crt\libw32\include\stdio.h
Fixed a rather badly broken _setmaxstdio() and a related bug in
flsall() (see fflush.c). Also added _getmaxstdio(). This fixes SPEED
bugs 2158 and 4327.
-----------------------------------------------------------------
Thu 21-Dec-95 (JamesMa)
crt\crtw32\convert\gcvt.c
'.' was replaced by *__decimal_point (Speed bug 2145).
-----------------------------------------------------------------
Thu 21-Dec-95 (GregF)
crt\crtw32\string\i386\strncpy.asm
Much faster version from Intel.
-----------------------------------------------------------------
Tue 19-Dec-95 (JamesMa)
crtw32\h\*.h, crtw32\h\sys\*.h, libw32\include\*.h, libw32\include\sys\*.h
'#pragma once' removed from assert.h; all other occurrences
bracketed by '#if _MSC_VER > 1000/#endif'.
-----------------------------------------------------------------
Tue 19-Dec-95 (GregF)
crt\crtw32\string\i386\strncat.asm
Much faster version from Intel (with several bug fixes from me).
-----------------------------------------------------------------
Mon 18-Dec-95 (JamesMa)
crtw32\eh\typname.cpp
Debug version now allocates buffer as _CRT_BLOCK.
crtw32\startup\crt0dat.c
Doexit() can no longer recurse.
crtw32\h\*.h, crtw32\h\sys\*.h, libw32\include\*.h, libw32\include\sys\*.h
Add '#pragma once' to all headers.
-----------------------------------------------------------------
Thu 14-Dec-95 (BryanT)
crtw32\eh\mips\trnsctrl.cpp, handlers.s, rtlmisc.s
Fix for new 64-bit CONTEXT structures.
crtw32\helper\ppc\dtou.s
Fix from ChuckL.
libw32\lib\dll\makefile.inc
Add dependency on msvcrt.src.
-----------------------------------------------------------------
Wed 13-Dec-95 (SteveSa)
crt/fpw32/tran/i386/testfdiv.c -
Change call to LoadLibrary("kernel32") to GetModuleHandle(...)
since KERNEL32.DLL will ALWAYS be loaded.
-----------------------------------------------------------------
Wed 13-Dec-95 (GregF)
crt\crtw32\time\time.c
Had gmt and gmt_cache switched in a key assigment, effectively
disabling my workaround for the slow NT API. Mistake found and
reported by Phil Lucido.
-----------------------------------------------------------------
Tue 12-Dec-95 (SteveSa)
crt/fpw32/tran/i386/testfdiv.c -
Reorganized the multi-processor check for a Pentium with the FDIV bug
so that the check is done only once on single-processor systems.
Previously the test was done twice on uni-processor systems -- once at
the beginning of the routine and once in the loop to check all CPUs.
-----------------------------------------------------------------
Thu 07-Dec-95 (SteveSa)
crt/crtw32/convert/wctomb.c
crt/crtw32/convert/wcstombs.c
crt/crtw32/h/mtdll.h
crt/crtw32/stdio/_filbuf.c
crt/crtw32/stdio/_flsbuf.c
Fixed misspellings of _NTSUBSET_. It was only misspelled in comments
in the four files other than <mtdll.h>. But there it was in an #if.
-----------------------------------------------------------------
Wed 06-Dec-95 (GregF)
crt\crtw32\string\i386\strstr.asm
Faster version from Intel.
-----------------------------------------------------------------
Tue 05-Dec-95 (SteveSa)
crt/crtw32/lowio/cgets.c
crt/crtw32/lowio/cputs.c
crt/crtw32/lowio/getch.c
crt/crtw32/lowio/putch.c
crt/crtw32/lowio/initcon.c
To improve DLL load time, the console I/O handles _confh and _coninpfh
are no longer initialized at CRTL start-up but rather are initialized
on demand. From initial tests, this seems to speed up the loading of
MSVCRT40.DLL by 4-20%.
Revised Fri 08-Dec-95 to work correctly under Win32s, and to save code.
-----------------------------------------------------------------
Thu 30-Nov-95 (SteveSa)
crt/crtw32/misc/cmiscdat.c -
VC++ 4.1 (SPEED) bug 2188 - removed obsolete comments which were
relevant in the 16-bit world but are no longer. Updated copyright.
-----------------------------------------------------------------
Thu 30-Nov-95 (GregF)
crt\crtw32\string\i386\strchr.asm, strlen.asm
The new strchr() is a much faster (also fatter) version from Intel.
The only change to strlen.asm was to align the main loop entry on
a 16-byte boundary (for 486 and P6).
-----------------------------------------------------------------
Tue 28-Nov-95 (SteveSa)
crtw32/dos/stat.c -
Change special case code that handles root directories (such as
'C:/' or 'X:\') to also handle UNC names such as '//server/share/'
or '\\server\share\'. Note that Win32 requires the trailing slash.
-----------------------------------------------------------------
Mon 27-Nov-95 (BryanT)
crtw32\h\stdlib.h
libw32\include\stdlib.h
Add __cdecl to _sleep/_beep/_seterrormode prototypes.
-----------------------------------------------------------------
Sun 26-Nov-95 (BryanT)
crtw32\string\stricoll.c
libw32\msvcrt.src
Since stricmp() is merely a wrapper for strcmpi(), call strcmpi() directly
if possible.
-----------------------------------------------------------------
Thu 16-Nov-95 (BryanT)
crtw32\crt32.nt
fpw32\fp32.nt
Define _WIN32 for ASM files (to get proper .586 designation)
crtw32\h\cruntime.inc
Fix POSIX build (it needs .586 also to compile string\strcat.asm)
crtw32\misc\dlllib\sources
crtw32\misc\i386\exsup.asm
Don't link global_unwind2 into each image... Import from the CRT dll instead
(this removes the last required reference to kernel32.dll)
crtw32\startup\mlock.c
#pragma optimiza("y", off) is only needed when you're going to run on the
checked version of NT 3.1... Since the NT libs never do that, no need to
disable it here.
fpw32\tran\i386\87fmod.asm
fpw32\tran\i386\87tran.asm
Remove more fdiv workarounds.
-----------------------------------------------------------------
Wed 15-Nov-95 (GregF)
crtw32\time\tzset.c
Set the year fields of dststart and dstend to -1 to ensure they
are recomputed after a call to _tzset.
-----------------------------------------------------------------
Tue 14-Nov-95 (BryanT)
crtw32\misc\splitpat.c
Don't use MBCS on splitpath for NTSUBSET
crtw32\startup\nt\sources
Add crt0fp.c
fpw32\fp32.nt
fpw32\conv\fpinit.c
fpw32\tran\sources.nt
fpw32\tran\i386\87tran.asm
fpw32\tran\i386\87fmod.asm
Don't use CRT workaround for P5 FDIV problem. The NT run-times
will alway run on a system that handles it.
-----------------------------------------------------------------
Tue 14-Nov-95 (GregF)
crtw32\string\i386\stricmp.asm
Define/declare _strcmpi with a proc rather than a label directive.
This was the last bit required to fix 2108.
crtw32\string\i386\strcat.asm
Aligned strcat to a paragraph boundary.
-----------------------------------------------------------------
Sun 12-Nov-95 (BryanT)
crtw32\string\wcsicmp.c
crtw32\string\wcsnicmp.c
crtw32\string\wcsxfrm.c
crtw32\string\strxfrm.c
crtw32\misc\dlllib\sources
crtw32\startup\dlllib\sources
NT build fixes
-----------------------------------------------------------------
Fri 10-Nov-95 (v-rogerl)
crt32\string\mips\strcpym.s
crt32\string\mips\strcatm.s
crt32\string\mips\memcpym.s
Replace ALTERNATE_ENTRY with .weakext for -Gy build.
-----------------------------------------------------------------
Thu 09-Nov-95 (GregF)
crtw32\dllstuff\crtlib.c
Changed "ISTNT" to "IsTNT".
crtw32\string\i386\memcmp.asm
Checked in faster version from Intel. The last problem (i.e., the
reason I had to back this out several months ago) was edi and esi
were being pushed in the wrong order.
-----------------------------------------------------------------
Wed 08-Nov-95 (GregF)
crtw32\time\tzset.c
Fixed typo in _isindst(). Second call to _mlock(_TIME_LOCK) should
have been _munlock(_TIME_LOCK).
-----------------------------------------------------------------
Tue 31-Oct-95 (GregF)
crtw32\h\conio.h
Backed out last change. The inp* and outp* functions are intrinsics
so they cannot be _CRTIMP.
-----------------------------------------------------------------
Tue 31-Oct-95 (GregF)
crtw32\h\conio.h
libw32\msvcrt.src
Export inp*, outp* for x86 msvcr*.dll. This was Olympus0 10299 and
Olympus 1811.
crtw32\string\strcoll.c, stricoll.c, strncoll.c, strnicol.c, wcscoll.c
wcsicoll.c, wcsncoll.c, wcsnicol.c
Pass SORT_STRINGSORT flag to CompareString* API (actually, to our own
crtCompareString*, which then passes it on to the Win32 API) so that
characters such as the dash and apostrophe are not ignored in
comparisons. This was Olympus0 14755.
-----------------------------------------------------------------
Fri 27-Oct-95 (v-rogerl)
fpw32\tran\mips\exptable.s
fpw32\tran\mips\logtable.s
fpw32\tran\mips\xsqrt.s
Fix bogus mips code. Align .rdata 8 bytes so tables that
are entered as words can work as double values.
-----------------------------------------------------------------
Fri 27-Oct-95 (GregF)
crt\crtw32\stdio\fdopen.c
Added check (for both Win32 and Mac builds) that the file handle
passed to _fdopen() is open. This was Olympus0 10153.
crt\crtw32\h\stdlib.h
crt\libw32\include\stdlib.h
#ifdef-out toupper/tolower for ANSI builds. The decls cannot be
removed completely because they are documented (see the descripion
of tolower and toupper in the Runtime Library Reference). The doc
should be changed so that we may remove these decls in the future.
This was Olympus 1314.
-----------------------------------------------------------------
Tue 24-Oct-95 (GregF)
crt\crtw32\misc\searchen.c
Use an internal buffer to construct the full pathname from the
environment variable value and the file name. This was OLYMPUS0 9336.
crt\crtw32\time\time.c
Revised to minimize calls to GetTimeZoneInformation with used in a
loop by only updating the DST status on whole minutes. This was done
because GetTimeZoneInformation very expensive on NT 3.51.
-----------------------------------------------------------------
Tue 17-Oct-95 (SteveSa)
crtw32/eh/mac/pmac/lowhelpr.asm
crtw32/eh/mac/pmac/trnsctrl.cpp
Propogate GlennN's and APennell's final EH fix to the PowerMac CRTL
(after v4.0 for Intel X86 shipped).
-----------------------------------------------------------------
Tue 17-Oct-95 (GregF)
crtw32\convert\_mbslen.c, mbstowcs.c, mbtowc.c, tolower.c, toupper.c,
towlower.c, towupper.c
crtw32\h\ctype.h, mtdll.h
crtw32\misc\setlocal.c
crtw32\startup\mlock.c
crtw32\string\memicmp.c, strcoll.c, stricmp.c, stricoll.c, strlwr.c,
strncoll.c, strnicmp.c, strnicol.c, strupr.c, strxfrm.c, wcscoll.c,
wcsicmp.c, wcsicoll.c, wcslwr.c, wcsncoll.c, wcsnicmp.c, wcsnicol.c,
wcsupr.c, wcsxfrm.c
crtw32\string\i386\memicmp.asm, stricmp.asm, strnicmp.asm
crtw32\time\strftime.c
Package of changes implementing a more efficient scheme for 'locking'
locale references. The basic idea is access to locale data only has to
be serialized if at least one thread is executing setlocale().
Also, memicmp.asm contains a fix for Olympus 2196 (< and > returns
are reversed for non-C locales).
-----------------------------------------------------------------
Fri 06-Oct-95 (SteveSa)
crtw32\direct\findfile.c
crtw32\h\io.h
libw32\include\io.h
The filespec argument to _*findfirst should be CONST char *, not just
char *. Also added missing underscores to func names in the comments.
This was Olympus0 bug #13287.
crtw32\h\new.h -
updated so that when cleansed, it matches the new.h in libw32\include.
(added missing __cdecl in the prototype of new_handler).
crtw32\h\tchar.h -
Fix Olympus0 bug #1175 here as well as in libw32\include\tchar.h
(See Thu-05-Oct fixes)
libw32\include\time.h
updated for GregF's change today for crtw32\h\time.h
-----------------------------------------------------------------
Fri 06-Oct-95 (GregF)
crtw32\direct\findfile.c
crtw32\dos\stat.h
crtw32\h\internal.h
crtw32\lowio\fstat.h
crtw32\time\dtoxtime.c, time.c
Package of changes to properly handle the overlapping clock times
which occur at the transition from DST back to Standard Time.
This was Olympus 2128.
-----------------------------------------------------------------
Fri 06-Oct-95 (GregF)
crtw32\dllstuff\crtlib.c
crtw32\h\time.h, win32s.h
crtw32\time\dtoxtime.c, mktime.c, localtim.c, timeset.c, tzset.c
libw32\msvcrt.src
Package of changes to fully support Win32 timezones. Main changes
were to fix _isindst() to work with non-USA transition rules and
to use _dstbias instead of a constant value (-3600) for the bias
in seconds.
This was Olympus0 3231.
-----------------------------------------------------------------
Thu 05-Oct-95 (SteveSa)
srcrel\mkfiles.sed
Remove stdio\maketabc.c from the list of files to be copied/cleansed.
This file should not have been released in MSVC++ v4.0. No big deal.
Also remove stdio\mac\initstd.c from that list. Same story. NBD.
srcrel\makefile
Change the rule to create pd-b to use the v4.1 source file server
(\\lang1\slmv4.1) instead of the v4.0 name (\\lang1\v3slm).
log.txt -> log_v40.txt
renamed the v4.0 history file and started a new one
crtw32\lowio\getch.c -- Olympus0 Bug #2193
removed two lines of debugging code that were commented out with //
libw32\include\tchar.h - Olympus0 Bug #1175
__far is #defined to nothing -- should be unnecessary in 32-bit code!
makefile -
Change the rules for the oldnames and tcmap and tcmapdll object file
directories so that oldnames.lib and tcmap.lib and tcmapdll.lib do
not get incorrectly rebuilt. This occurs due to a bug in Windows NT
v3.5x wherein sometimes a subdirectory has a creation time OLDER
than the creation time of its parent directory.
-----------------------------------------------------------------
***************************************************************************
***************************************************************************
*** ***
*** This file contains the history for MSVC++ v4.1 (relative to v4.0) ***
*** The file should always be edited at the top so that the most ***
*** recent changes are at the beginning of the file and the oldest ***
*** changes are at the end of the file. This comment marks the end. ***
*** ***
***************************************************************************
***************************************************************************
-----------------------------------------------------------------