From 16e5634a3bcff46a8a270a37c855b3312860e808 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Tue, 13 Jan 2004 05:37:47 +0000 Subject: [PATCH] Implemented a few more crt* functions. Replaced most remaining stubs by forwards to msvcrt. --- dlls/msvcrtd/debug.c | 44 ++++++- dlls/msvcrtd/msvcrtd.spec | 256 +++++++++++++++++++------------------- 2 files changed, 170 insertions(+), 130 deletions(-) diff --git a/dlls/msvcrtd/debug.c b/dlls/msvcrtd/debug.c index 1cbd660f57c..0b09594b646 100644 --- a/dlls/msvcrtd/debug.c +++ b/dlls/msvcrtd/debug.c @@ -22,6 +22,10 @@ WINE_DEFAULT_DEBUG_CHANNEL(msvcrt); +int _crtAssertBusy = -1; +int _crtBreakAlloc = -1; +int _crtDbgFlag = 0; + /********************************************************************* * _CrtSetDumpClient (MSVCRTD.@) */ @@ -49,12 +53,24 @@ int _CrtSetReportMode() } +/********************************************************************* + * _CrtSetBreakAlloc (MSVCRTD.@) + */ +int _CrtSetBreakAlloc(int new) +{ + int old = _crtBreakAlloc; + _crtBreakAlloc = new; + return old; +} + /********************************************************************* * _CrtSetDbgFlag (MSVCRTD.@) */ -int _CrtSetDbgFlag() +int _CrtSetDbgFlag(int new) { - return 0; + int old = _crtDbgFlag; + _crtDbgFlag = new; + return old; } @@ -73,3 +89,27 @@ int _CrtDumpMemoryLeaks() { return 0; } + +/********************************************************************* + * __p__crtAssertBusy (MSVCRTD.@) + */ +int *__p__crtAssertBusy(void) +{ + return &_crtAssertBusy; +} + +/********************************************************************* + * __p__crtBreakAlloc (MSVCRTD.@) + */ +int *__p__crtBreakAlloc(void) +{ + return &_crtBreakAlloc; +} + +/********************************************************************* + * __p__crtDbgFlag (MSVCRTD.@) + */ +int *__p__crtDbgFlag(void) +{ + return &_crtDbgFlag; +} diff --git a/dlls/msvcrtd/msvcrtd.spec b/dlls/msvcrtd/msvcrtd.spec index 4f6143933be..42b2dd9de5c 100644 --- a/dlls/msvcrtd/msvcrtd.spec +++ b/dlls/msvcrtd/msvcrtd.spec @@ -79,7 +79,7 @@ @ stub _CrtMemDumpAllObjectsSince @ stub _CrtMemDumpStatistics @ stub _CrtSetAllocHook -@ stub _CrtSetBreakAlloc +@ cdecl _CrtSetBreakAlloc(long) @ stub _CrtSetDbgBlockType @ cdecl _CrtSetDbgFlag(long) @ cdecl _CrtSetDumpClient(ptr) @@ -95,28 +95,28 @@ @ cdecl _Strftime(str long str ptr ptr) msvcrt._Strftime @ cdecl _XcptFilter(long ptr) msvcrt._XcptFilter @ cdecl -i386 __CxxFrameHandler(ptr ptr ptr ptr) msvcrt.__CxxFrameHandler -@ stub __CxxLongjmpUnwind #(ptr) stdcall +@ stdcall -i386 __CxxLongjmpUnwind(ptr) msvcrt.__CxxLongjmpUnwind @ cdecl __RTCastToVoid(ptr) msvcrt.__RTCastToVoid @ cdecl __RTDynamicCast(ptr long ptr ptr long) msvcrt.__RTDynamicCast @ cdecl __RTtypeid(ptr) msvcrt.__RTtypeid -@ stub __STRINGTOLD #(ptr ptr str long) +@ cdecl __STRINGTOLD(ptr ptr str long) msvcrt.__STRINGTOLD @ extern __argc msvcrt.__argc @ extern __argv msvcrt.__argv -@ stub __badioinfo -@ stub __crtCompareStringA -@ stub __crtGetLocaleInfoW +@ extern __badioinfo msvcrt.__badioinfo +@ cdecl __crtCompareStringA(long long str long str long) msvcrt.__crtCompareStringA +@ cdecl __crtGetLocaleInfoW(long long ptr long) msvcrt.__crtGetLocaleInfoW @ cdecl __crtLCMapStringA(long long str long ptr long long long) msvcrt.__crtLCMapStringA @ cdecl __dllonexit(ptr ptr ptr) msvcrt.__dllonexit @ cdecl __doserrno() msvcrt.__doserrno -@ stub __fpecode #() +@ cdecl __fpecode() msvcrt.__fpecode @ cdecl __getmainargs(ptr ptr ptr long ptr) msvcrt.__getmainargs @ extern __initenv msvcrt.__initenv @ cdecl __isascii(long) msvcrt.__isascii @ cdecl __iscsym(long) msvcrt.__iscsym @ cdecl __iscsymf(long) msvcrt.__iscsymf -@ stub __lc_codepage -@ stub __lc_collate_cp -@ stub __lc_handle +@ extern __lc_codepage msvcrt.__lc_codepage +@ extern __lc_collate_cp msvcrt.__lc_collate_cp +@ extern __lc_handle msvcrt.__lc_handle @ cdecl __lconv_init() msvcrt.__lconv_init @ extern __mb_cur_max msvcrt.__mb_cur_max @ cdecl __p___argc() msvcrt.__p___argc @@ -126,33 +126,33 @@ @ cdecl __p___wargv() msvcrt.__p___wargv @ cdecl __p___winitenv() msvcrt.__p___winitenv @ cdecl __p__acmdln() msvcrt.__p__acmdln -@ stub __p__amblksiz #() +@ cdecl __p__amblksiz() msvcrt.__p__amblksiz @ cdecl __p__commode() msvcrt.__p__commode -@ stub __p__crtAssertBusy #() -@ stub __p__crtBreakAlloc #() -@ stub __p__crtDbgFlag #() +@ cdecl __p__crtAssertBusy() +@ cdecl __p__crtBreakAlloc() +@ cdecl __p__crtDbgFlag() @ cdecl __p__daylight() msvcrt.__p__daylight -@ stub __p__dstbias #() +@ cdecl __p__dstbias() msvcrt.__p__dstbias @ cdecl __p__environ() msvcrt.__p__environ -@ stub __p__fileinfo #() +@ cdecl __p__fileinfo() msvcrt.__p__fileinfo @ cdecl __p__fmode() msvcrt.__p__fmode @ cdecl __p__iob() msvcrt.__p__iob -@ stub __p__mbcasemap #() +@ cdecl __p__mbcasemap() msvcrt.__p__mbcasemap @ cdecl __p__mbctype() msvcrt.__p__mbctype @ cdecl __p__osver() msvcrt.__p__osver @ cdecl __p__pctype() msvcrt.__p__pctype @ cdecl __p__pgmptr() msvcrt.__p__pgmptr -@ stub __p__pwctype #() +@ cdecl __p__pwctype() msvcrt.__p__pwctype @ cdecl __p__timezone() msvcrt.__p__timezone -@ stub __p__tzname #() +@ cdecl __p__tzname() msvcrt.__p__tzname @ cdecl __p__wcmdln() msvcrt.__p__wcmdln @ cdecl __p__wenviron() msvcrt.__p__wenviron @ cdecl __p__winmajor() msvcrt.__p__winmajor @ cdecl __p__winminor() msvcrt.__p__winminor @ cdecl __p__winver() msvcrt.__p__winver -@ stub __p__wpgmptr #() -@ stub __pioinfo #() -@ stub __pxcptinfoptrs #() +@ cdecl __p__wpgmptr() msvcrt.__p__wpgmptr +@ extern __pioinfo msvcrt.__pioinfo +@ cdecl __pxcptinfoptrs() msvcrt.__pxcptinfoptrs @ cdecl __set_app_type(long) msvcrt.__set_app_type @ extern __setlc_active msvcrt.__setlc_active @ cdecl __setusermatherr(ptr) msvcrt.__setusermatherr @@ -182,12 +182,12 @@ @ cdecl _adj_fprem1() msvcrt._adj_fprem1 @ cdecl _adj_fptan() msvcrt._adj_fptan @ cdecl _adjust_fdiv() msvcrt._adjust_fdiv -@ stub _aexit_rtn +@ extern _aexit_rtn msvcrt._aexit_rtn @ cdecl _amsg_exit(long) msvcrt._amsg_exit @ cdecl _assert(str str long) msvcrt._assert -@ stub _atodbl #(ptr str) +@ cdecl _atodbl(ptr str) msvcrt._atodbl @ cdecl -ret64 _atoi64(str) ntdll._atoi64 -@ stub _atoldbl #(ptr str) +@ cdecl _atoldbl(ptr str) msvcrt._atoldbl @ cdecl _beep(long long) msvcrt._beep @ cdecl _beginthread (ptr long ptr) msvcrt._beginthread @ cdecl _beginthreadex (ptr long ptr ptr long ptr) msvcrt._beginthreadex @@ -213,14 +213,14 @@ @ varargs _cprintf(str) msvcrt._cprintf @ cdecl _cputs(str) msvcrt._cputs @ cdecl _creat(str long) msvcrt._creat -@ stub _crtAssertBusy #() -@ stub _crtBreakAlloc #() -@ stub _crtDbgFlag #() +@ extern _crtAssertBusy +@ extern _crtBreakAlloc +@ extern _crtDbgFlag @ varargs _cscanf(str) msvcrt._cscanf @ extern _ctype msvcrt._ctype @ cdecl _cwait(ptr long long) msvcrt._cwait @ extern _daylight msvcrt._daylight -@ stub _dstbias +@ extern _dstbias msvcrt._dstbias @ cdecl _dup (long) msvcrt._dup @ cdecl _dup2 (long long) msvcrt._dup2 @ cdecl _ecvt( double long ptr ptr) msvcrt._ecvt @@ -232,9 +232,9 @@ @ cdecl _except_handler2(ptr ptr ptr ptr) msvcrt._except_handler2 @ cdecl _except_handler3(ptr ptr ptr ptr) msvcrt._except_handler3 @ varargs _execl(str str) msvcrt._execl -@ stub _execle #(str str) varargs +@ varargs _execle(str str) msvcrt._execle @ varargs _execlp(str str) msvcrt._execlp -@ stub _execlpe #(str str) varargs +@ varargs _execlpe(str str) msvcrt._execlpe @ cdecl _execv(str str) msvcrt._execv @ cdecl _execve(str str str) msvcrt._execve @ cdecl _execvp(str str) msvcrt._execvp @@ -248,21 +248,21 @@ @ cdecl _fgetchar() msvcrt._fgetchar @ cdecl _fgetwchar() msvcrt._fgetwchar @ cdecl _filbuf(ptr) msvcrt._filbuf -@ stub _fileinfo +@ extern _fileinfo msvcrt._fileinfo @ cdecl _filelength(long) msvcrt._filelength -@ stub _filelengthi64 #(long) +@ cdecl -ret64 _filelengthi64(long) msvcrt._filelengthi64 @ cdecl _fileno(ptr) msvcrt._fileno @ cdecl _findclose(long) msvcrt._findclose @ cdecl _findfirst(str ptr) msvcrt._findfirst -@ stub _findfirsti64 #(str ptr) +@ cdecl _findfirsti64(str ptr) msvcrt._findfirsti64 @ cdecl _findnext(long ptr) msvcrt._findnext -@ stub _findnexti64 #(long ptr) +@ cdecl _findnexti64(long ptr) msvcrt._findnexti64 @ cdecl _finite( double ) msvcrt._finite @ cdecl _flsbuf(long ptr) msvcrt._flsbuf @ cdecl _flushall() msvcrt._flushall @ extern _fmode msvcrt._fmode @ cdecl _fpclass(double) msvcrt._fpclass -@ stub _fpieee_flt #(long ptr ptr) +@ cdecl _fpieee_flt(long ptr ptr) msvcrt._fpieee_flt @ cdecl _fpreset() msvcrt._fpreset @ cdecl _fputchar(long) msvcrt._fputchar @ cdecl _free_dbg(ptr) msvcrt.free @@ -276,7 +276,7 @@ @ cdecl _futime(long ptr) msvcrt._futime @ cdecl _gcvt( double long str) msvcrt._gcvt @ cdecl _get_osfhandle(long) msvcrt._get_osfhandle -@ stub _get_sbh_threshold #() +@ cdecl _get_sbh_threshold() msvcrt._get_sbh_threshold @ cdecl _getch() msvcrt._getch @ cdecl _getche() msvcrt._getche @ cdecl _getcwd(str long) msvcrt._getcwd @@ -285,10 +285,10 @@ @ cdecl _getdllprocaddr(long str long) msvcrt._getdllprocaddr @ cdecl _getdrive() msvcrt._getdrive @ cdecl _getdrives() kernel32.GetLogicalDrives -@ stub _getmaxstdio #() +@ cdecl _getmaxstdio() msvcrt._getmaxstdio @ cdecl _getmbcp() msvcrt._getmbcp @ cdecl _getpid() kernel32.GetCurrentProcessId -@ stub _getsystime #(ptr) +@ cdecl _getsystime(ptr) msvcrt._getsystime @ cdecl _getw(ptr) msvcrt._getw @ cdecl _getws(ptr) msvcrt._getws @ cdecl _global_unwind2(ptr) msvcrt._global_unwind2 @@ -296,28 +296,28 @@ @ cdecl _heapchk() msvcrt._heapchk @ cdecl _heapmin() msvcrt._heapmin @ cdecl _heapset(long) msvcrt._heapset -@ stub _heapused #(ptr ptr) +@ cdecl _heapused(ptr ptr) msvcrt._heapused @ cdecl _heapwalk(ptr) msvcrt._heapwalk @ cdecl _hypot(double double) hypot @ cdecl _i64toa(long long ptr long) ntdll._i64toa @ cdecl _i64tow(long long ptr long) ntdll._i64tow @ cdecl _initterm(ptr ptr) msvcrt._initterm -@ stub _inp #(long) -i386 -@ stub _inpd #(long) -i386 -@ stub _inpw #(long) -i386 +@ cdecl -i386 _inp(long) msvcrt._inp +@ cdecl -i386 _inpd(long) msvcrt._inpd +@ cdecl -i386 _inpw(long) msvcrt._inpw @ extern _iob msvcrt._iob @ cdecl _isatty(long) msvcrt._isatty @ cdecl _isctype(long long) msvcrt._isctype -@ stub _ismbbalnum #(long) -@ stub _ismbbalpha #(long) -@ stub _ismbbgraph #(long) -@ stub _ismbbkalnum #(long) +@ cdecl _ismbbalnum(long) msvcrt._ismbbalnum +@ cdecl _ismbbalpha(long) msvcrt._ismbbalpha +@ cdecl _ismbbgraph(long) msvcrt._ismbbgraph +@ cdecl _ismbbkalnum(long) msvcrt._ismbbkalnum @ cdecl _ismbbkana(long) msvcrt._ismbbkana -@ stub _ismbbkprint #(long) -@ stub _ismbbkpunct #(long) +@ cdecl _ismbbkprint(long) msvcrt._ismbbkprint +@ cdecl _ismbbkpunct(long) msvcrt._ismbbkpunct @ cdecl _ismbblead(long) msvcrt._ismbblead -@ stub _ismbbprint #(long) -@ stub _ismbbpunct #(long) +@ cdecl _ismbbprint(long) msvcrt._ismbbprint +@ cdecl _ismbbpunct(long) msvcrt._ismbbpunct @ cdecl _ismbbtrail(long) msvcrt._ismbbtrail @ cdecl _ismbcalnum(long) msvcrt._ismbcalnum @ cdecl _ismbcalpha(long) msvcrt._ismbcalpha @@ -325,10 +325,10 @@ @ cdecl _ismbcgraph(long) msvcrt._ismbcgraph @ cdecl _ismbchira(long) msvcrt._ismbchira @ cdecl _ismbckata(long) msvcrt._ismbckata -@ stub _ismbcl0 #(long) -@ stub _ismbcl1 #(long) -@ stub _ismbcl2 #(long) -@ stub _ismbclegal #(long) +@ cdecl _ismbcl0(long) msvcrt._ismbcl0 +@ cdecl _ismbcl1(long) msvcrt._ismbcl1 +@ cdecl _ismbcl2(long) msvcrt._ismbcl2 +@ cdecl _ismbclegal(long) msvcrt._ismbclegal @ cdecl _ismbclower(long) msvcrt._ismbclower @ cdecl _ismbcprint(long) msvcrt._ismbcprint @ cdecl _ismbcpunct(long) msvcrt._ismbcpunct @@ -350,7 +350,7 @@ @ cdecl _lock(long) msvcrt._lock @ cdecl _locking(long long long) msvcrt._locking @ cdecl _logb( double ) msvcrt._logb -@ stub _longjmpex +@ cdecl -i386 _longjmpex(ptr long) msvcrt._longjmpex @ cdecl _lrotl(long long) msvcrt._lrotl @ cdecl _lrotr(long long) msvcrt._lrotr @ cdecl _lsearch(ptr ptr long long ptr) msvcrt._lsearch @@ -361,23 +361,23 @@ @ cdecl _makepath(str str str str str) msvcrt._makepath @ cdecl _malloc_dbg(long) msvcrt.malloc @ cdecl _mbbtombc(long) msvcrt._mbbtombc -@ stub _mbbtype #(long long) -@ stub _mbcasemap +@ cdecl _mbbtype(long long) msvcrt._mbbtype +@ extern _mbcasemap msvcrt._mbcasemap @ cdecl _mbccpy (str str) strcpy -@ stub _mbcjistojms #(long) -@ stub _mbcjmstojis #(long) +@ cdecl _mbcjistojms(long) msvcrt._mbcjistojms +@ cdecl _mbcjmstojis(long) msvcrt._mbcjmstojis @ cdecl _mbclen(ptr) msvcrt._mbclen -@ stub _mbctohira #(long) -@ stub _mbctokata #(long) +@ cdecl _mbctohira(long) msvcrt._mbctohira +@ cdecl _mbctokata(long) msvcrt._mbctokata @ cdecl _mbctolower(long) msvcrt._mbctolower -@ stub _mbctombb #(long) +@ cdecl _mbctombb(long) msvcrt._mbctombb @ cdecl _mbctoupper(long) msvcrt._mbctoupper -@ stub _mbctype -@ stub _mbsbtype #(str long) +@ extern _mbctype msvcrt._mbctype +@ cdecl _mbsbtype(str long) msvcrt._mbsbtype @ cdecl _mbscat(str str) strcat @ cdecl _mbschr(str long) msvcrt._mbschr @ cdecl _mbscmp(str str) msvcrt._mbscmp -@ stub _mbscoll #(str str) +@ cdecl _mbscoll(str str) msvcrt._mbscoll @ cdecl _mbscpy(ptr str) strcpy @ cdecl _mbscspn (str str) msvcrt._mbscspn @ cdecl _mbsdec(ptr ptr) msvcrt._mbsdec @@ -390,19 +390,19 @@ @ cdecl _mbsnbcat (str str long) msvcrt._mbsnbcat @ cdecl _mbsnbcmp(str str long) msvcrt._mbsnbcmp @ cdecl _mbsnbcnt(ptr long) msvcrt._mbsnbcnt -@ stub _mbsnbcoll #(str str long) +@ cdecl _mbsnbcoll(str str long) msvcrt._mbsnbcoll @ cdecl _mbsnbcpy(ptr str long) msvcrt._mbsnbcpy @ cdecl _mbsnbicmp(str str long) msvcrt._mbsnbicmp -@ stub _mbsnbicoll #(str str long) +@ cdecl _mbsnbicoll(str str long) msvcrt._mbsnbicoll @ cdecl _mbsnbset(str long long) msvcrt._mbsnbset @ cdecl _mbsncat(str str long) msvcrt._mbsncat @ cdecl _mbsnccnt(str long) msvcrt._mbsnccnt @ cdecl _mbsncmp(str str long) msvcrt._mbsncmp -@ stub _mbsncoll #(str str long) +@ cdecl _mbsncoll(str str long) msvcrt._mbsncoll @ cdecl _mbsncpy(str str long) msvcrt._mbsncpy @ cdecl _mbsnextc(str) msvcrt._mbsnextc @ cdecl _mbsnicmp(str str long) msvcrt._mbsnicmp -@ stub _mbsnicoll #(str str long) +@ cdecl _mbsnicoll(str str long) msvcrt._mbsnicoll @ cdecl _mbsninc(str long) msvcrt._mbsninc @ cdecl _mbsnset(str long long) msvcrt._mbsnset @ cdecl _mbspbrk(str str) msvcrt._mbspbrk @@ -410,7 +410,7 @@ @ cdecl _mbsrev(str) msvcrt._mbsrev @ cdecl _mbsset(str long) msvcrt._mbsset @ cdecl _mbsspn(str str) msvcrt._mbsspn -@ stub _mbsspnp #(str str) +@ cdecl _mbsspnp(str str) msvcrt._mbsspnp @ cdecl _mbsstr(str str) strstr @ cdecl _mbstok(str str) msvcrt._mbstok @ cdecl _mbstrlen(str) msvcrt._mbstrlen @@ -425,21 +425,21 @@ @ cdecl _onexit(ptr) msvcrt._onexit @ varargs _open(str long) msvcrt._open @ cdecl _open_osfhandle(long long) msvcrt._open_osfhandle -@ stub _osver -@ stub _outp #(long long) -@ stub _outpd #(long long) -@ stub _outpw #(long long) +@ extern _osver msvcrt._osver +@ cdecl -i386 _outp(long long) msvcrt._outp +@ cdecl -i386 _outpd(long long) msvcrt._outpd +@ cdecl -i386 _outpw(long long) msvcrt._outpw @ cdecl _pclose(ptr) msvcrt._pclose @ extern _pctype msvcrt._pctype @ extern _pgmptr msvcrt._pgmptr -@ stub _pipe #(ptr long long) +@ cdecl _pipe(ptr long long) msvcrt._pipe @ cdecl _popen(str str) msvcrt._popen @ cdecl _purecall() msvcrt._purecall @ cdecl _putch(long) msvcrt._putch @ cdecl _putenv(str) msvcrt._putenv @ cdecl _putw(long ptr) msvcrt._putw @ cdecl _putws(wstr) msvcrt._putws -@ stub _pwctype +@ extern _pwctype msvcrt._pwctype @ cdecl _read(long ptr long) msvcrt._read @ cdecl _realloc_dbg(ptr long) msvcrt.realloc @ cdecl _rmdir(str) msvcrt._rmdir @@ -454,22 +454,22 @@ @ cdecl _searchenv(str str ptr) msvcrt._searchenv @ stdcall -i386 _seh_longjmp_unwind(ptr) msvcrt._seh_longjmp_unwind @ cdecl _set_error_mode(long) msvcrt._set_error_mode -@ stub _set_sbh_threshold #(long) -@ stub _seterrormode #(long) +@ cdecl _set_sbh_threshold(long) msvcrt._set_sbh_threshold +@ cdecl _seterrormode(long) msvcrt._seterrormode @ cdecl -i386 _setjmp(ptr) msvcrt._setjmp @ cdecl -i386 _setjmp3(ptr long) msvcrt._setjmp3 -@ stub _setmaxstdio #(long) +@ cdecl _setmaxstdio(long) msvcrt._setmaxstdio @ cdecl _setmbcp(long) msvcrt._setmbcp @ cdecl _setmode(long long) msvcrt._setmode -@ stub _setsystime #(ptr long) +@ cdecl _setsystime(ptr long) msvcrt._setsystime @ cdecl _sleep(long) msvcrt._sleep @ varargs _snprintf(str long str) snprintf @ varargs _snwprintf(wstr long wstr) ntdll._snwprintf @ varargs _sopen(str long long) msvcrt._sopen @ varargs _spawnl(long str str) msvcrt._spawnl -@ stub _spawnle #(long str str) varargs +@ varargs _spawnle(long str str) msvcrt._spawnle @ varargs _spawnlp(long str str) msvcrt._spawnlp -@ stub _spawnlpe #(long str str) varargs +@ varargs _spawnlpe(long str str) msvcrt._spawnlpe @ cdecl _spawnv(long str ptr) msvcrt._spawnv @ cdecl _spawnve(long str ptr ptr) msvcrt._spawnve @ cdecl _spawnvp(long str ptr) msvcrt._spawnvp @@ -483,11 +483,11 @@ @ cdecl _strdup(str) msvcrt._strdup @ cdecl _strerror(long) msvcrt._strerror @ cdecl _stricmp(str str) strcasecmp -@ stub _stricoll #(str str) +@ cdecl _stricoll(str str) msvcrt._stricoll @ cdecl _strlwr(str) ntdll._strlwr -@ stub _strncoll #(str str long) +@ cdecl _strncoll(str str long) msvcrt._strncoll @ cdecl _strnicmp(str str long) strncasecmp -@ stub _strnicoll #(str str long) +@ cdecl _strnicoll(str str long) msvcrt._strnicoll @ cdecl _strnset(str long long) msvcrt._strnset @ cdecl _strrev(str) msvcrt._strrev @ cdecl _strset(str long) msvcrt._strset @@ -497,12 +497,12 @@ @ extern _sys_errlist msvcrt._sys_errlist @ extern _sys_nerr msvcrt._sys_nerr @ cdecl _tell(long) msvcrt._tell -@ stub _telli64 #(long) +@ cdecl -ret64 _telli64(long) msvcrt._telli64 @ cdecl _tempnam(str str) msvcrt._tempnam -@ stub _timezone # extern +@ extern _timezone msvcrt._timezone @ cdecl _tolower(long) msvcrt._tolower @ cdecl _toupper(long) msvcrt._toupper -@ stub _tzname # extern +@ extern _tzname msvcrt._tzname @ cdecl _tzset() tzset @ cdecl _ui64toa(long long ptr long) ntdll._ui64toa @ cdecl _ui64tow(long long ptr long) ntdll._ui64tow @@ -517,7 +517,7 @@ @ cdecl _vsnprintf(ptr long ptr ptr) vsnprintf @ cdecl _vsnwprintf(ptr long wstr long) msvcrt._vsnwprintf @ cdecl _waccess(wstr long) msvcrt._waccess -@ stub _wasctime #(ptr) +@ cdecl _wasctime(ptr) msvcrt._wasctime @ cdecl _wchdir(wstr) msvcrt._wchdir @ cdecl _wchmod(wstr long) msvcrt._wchmod @ extern _wcmdln msvcrt._wcmdln @@ -526,32 +526,32 @@ @ cdecl _wcsicmp(wstr wstr) ntdll._wcsicmp @ cdecl _wcsicoll(wstr wstr) msvcrt._wcsicoll @ cdecl _wcslwr(wstr) ntdll._wcslwr -@ stub _wcsncoll #(wstr wstr long) +@ cdecl _wcsncoll(wstr wstr long) msvcrt._wcsncoll @ cdecl _wcsnicmp(wstr wstr long) ntdll._wcsnicmp -@ stub _wcsnicoll #(wstr wstr long) +@ cdecl _wcsnicoll(wstr wstr long) msvcrt._wcsnicoll @ cdecl _wcsnset(wstr long long) msvcrt._wcsnset @ cdecl _wcsrev(wstr) msvcrt._wcsrev @ cdecl _wcsset(wstr long) msvcrt._wcsset @ cdecl _wcsupr(wstr) ntdll._wcsupr -@ stub _wctime #(ptr) +@ cdecl _wctime(ptr) msvcrt._wctime @ extern _wenviron msvcrt._wenviron -@ stub _wexecl #(wstr wstr) varargs -@ stub _wexecle #(wstr wstr) varargs -@ stub _wexeclp #(wstr wstr) varargs -@ stub _wexeclpe #(wstr wstr) varargs -@ stub _wexecv #(wstr ptr) -@ stub _wexecve #(wstr ptr ptr) -@ stub _wexecvp #(wstr ptr) -@ stub _wexecvpe #(wstr ptr ptr) +@ varargs _wexecl(wstr wstr) msvcrt._wexecl +@ varargs _wexecle(wstr wstr) msvcrt._wexecle +@ varargs _wexeclp(wstr wstr) msvcrt._wexeclp +@ varargs _wexeclpe(wstr wstr) msvcrt._wexeclpe +@ cdecl _wexecv(wstr ptr) msvcrt._wexecv +@ cdecl _wexecve(wstr ptr ptr) msvcrt._wexecve +@ cdecl _wexecvp(wstr ptr) msvcrt._wexecvp +@ cdecl _wexecvpe(wstr ptr ptr) msvcrt._wexecvpe @ cdecl _wfdopen(long wstr) msvcrt._wfdopen @ cdecl _wfindfirst(wstr ptr) msvcrt._wfindfirst -@ stub _wfindfirsti64 #(wstr ptr) +@ cdecl _wfindfirsti64(wstr ptr) msvcrt._wfindfirsti64 @ cdecl _wfindnext(long ptr) msvcrt._wfindnext -@ stub _wfindnexti64 #(long ptr) +@ cdecl _wfindnexti64(long ptr) msvcrt._wfindnexti64 @ cdecl _wfopen(wstr wstr) msvcrt._wfopen -@ stub _wfreopen #(wstr wstr ptr) +@ cdecl _wfreopen(wstr wstr ptr) msvcrt._wfreopen @ cdecl _wfsopen(wstr wstr long) msvcrt._wfsopen -@ stub _wfullpath #(ptr wstr long) +@ cdecl _wfullpath(ptr wstr long) msvcrt._wfullpath @ cdecl _wgetcwd(wstr long) msvcrt._wgetcwd @ cdecl _wgetdcwd(long wstr long) msvcrt._wgetdcwd @ cdecl _wgetenv(wstr) msvcrt._wgetenv @@ -562,33 +562,33 @@ @ cdecl _wmkdir(wstr) msvcrt._wmkdir @ cdecl _wmktemp(wstr) msvcrt._wmktemp @ varargs _wopen(wstr long) msvcrt._wopen -@ stub _wperror #(wstr) -@ stub _wpgmptr # extern +@ cdecl _wperror(wstr) msvcrt._wperror +@ extern _wpgmptr msvcrt._wpgmptr @ cdecl _wpopen(wstr wstr) msvcrt._wpopen @ cdecl _wputenv(wstr) msvcrt._wputenv @ cdecl _wremove(wstr) msvcrt._wremove @ cdecl _wrename(wstr wstr) msvcrt._wrename @ cdecl _write(long ptr long) msvcrt._write @ cdecl _wrmdir(wstr) msvcrt._wrmdir -@ stub _wsearchenv #(wstr wstr ptr) -@ stub _wsetlocale #(long wstr) +@ cdecl _wsearchenv(wstr wstr ptr) msvcrt._wsearchenv +@ cdecl _wsetlocale(long wstr) msvcrt._wsetlocale @ varargs _wsopen (wstr long long) msvcrt._wsopen -@ stub _wspawnl #(long wstr wstr) varargs -@ stub _wspawnle #(long wstr wstr) varargs -@ stub _wspawnlp #(long wstr wstr) varargs -@ stub _wspawnlpe #(long wstr wstr) varargs -@ stub _wspawnv #(long wstr ptr) -@ stub _wspawnve #(long wstr ptr ptr) -@ stub _wspawnvp #(long wstr ptr) -@ stub _wspawnvpe #(long wstr ptr ptr) +@ varargs _wspawnl(long wstr wstr) msvcrt._wspawnl +@ varargs _wspawnle(long wstr wstr) msvcrt._wspawnle +@ varargs _wspawnlp(long wstr wstr) msvcrt._wspawnlp +@ varargs _wspawnlpe(long wstr wstr) msvcrt._wspawnlpe +@ cdecl _wspawnv(long wstr ptr) msvcrt._wspawnv +@ cdecl _wspawnve(long wstr ptr ptr) msvcrt._wspawnve +@ cdecl _wspawnvp(long wstr ptr) msvcrt._wspawnvp +@ cdecl _wspawnvpe(long wstr ptr ptr) msvcrt._wspawnvpe @ cdecl _wsplitpath(wstr wstr wstr wstr wstr) msvcrt._wsplitpath @ cdecl _wstat(wstr ptr) msvcrt._wstat -@ stub _wstati64 #(wstr ptr) -@ stub _wstrdate #(ptr) -@ stub _wstrtime #(ptr) -@ stub _wsystem #(wstr) +@ cdecl _wstati64(wstr ptr) msvcrt._wstati64 +@ cdecl _wstrdate(ptr) msvcrt._wstrdate +@ cdecl _wstrtime(ptr) msvcrt._wstrtime +@ cdecl _wsystem(wstr) msvcrt._wsystem @ cdecl _wtempnam(wstr wstr) msvcrt._wtempnam -@ stub _wtmpnam #(ptr) +@ cdecl _wtmpnam(ptr) msvcrt._wtmpnam @ cdecl _wtoi(wstr) ntdll._wtoi @ cdecl _wtoi64(wstr) ntdll._wtoi64 @ cdecl _wtol(wstr) ntdll._wtol @@ -685,7 +685,7 @@ @ cdecl labs(long) @ cdecl ldexp( double long) msvcrt.ldexp @ cdecl ldiv(long long) msvcrt.ldiv -@ stub localeconv #() +@ cdecl localeconv() msvcrt.localeconv @ cdecl localtime(ptr) @ cdecl log(double) @ cdecl log10(double) @@ -710,7 +710,7 @@ @ cdecl putwc(long ptr) msvcrt.putwc @ cdecl putwchar(long) msvcrt._fputwchar @ cdecl qsort(ptr long long ptr) -@ stub raise #(long) +@ cdecl raise(long) msvcrt.raise @ cdecl rand() msvcrt.rand @ cdecl realloc(ptr long) msvcrt.realloc @ cdecl remove(str) msvcrt.remove @@ -774,7 +774,7 @@ @ cdecl wcscoll(wstr wstr) msvcrt.wcscoll @ cdecl wcscpy(ptr wstr) ntdll.wcscpy @ cdecl wcscspn(wstr wstr) ntdll.wcscspn -@ stub wcsftime #(ptr long wstr ptr) +@ cdecl wcsftime(ptr long wstr ptr) msvcrt.wcsftime @ cdecl wcslen(wstr) ntdll.wcslen @ cdecl wcsncat(wstr wstr long) ntdll.wcsncat @ cdecl wcsncmp(wstr wstr long) ntdll.wcsncmp @@ -783,13 +783,13 @@ @ cdecl wcsrchr(wstr long) ntdll.wcsrchr @ cdecl wcsspn(wstr wstr) ntdll.wcsspn @ cdecl wcsstr(wstr wstr) ntdll.wcsstr -@ stub wcstod #(wstr ptr) +@ cdecl wcstod(wstr ptr) msvcrt.wcstod @ cdecl wcstok(wstr wstr) ntdll.wcstok @ cdecl wcstol(wstr ptr long) ntdll.wcstol @ cdecl wcstombs(ptr ptr long) ntdll.wcstombs @ cdecl wcstoul(wstr ptr long) ntdll.wcstoul -@ stub wcsxfrm #(ptr wstr long) +@ cdecl wcsxfrm(ptr wstr long) msvcrt.wcsxfrm @ cdecl wctomb(ptr long) msvcrt.wctomb @ varargs wprintf(wstr) msvcrt.wprintf @ varargs wscanf(wstr) msvcrt.wscanf -@ stub _Gettnames +@ cdecl _Gettnames() msvcrt._Gettnames