Commit 27701555 authored by Piotr Caban's avatar Piotr Caban Committed by Alexandre Julliard

msvcrt: Move _initterm_e implementation (from msvcr90).

parent bf446e7c
...@@ -30,8 +30,6 @@ ...@@ -30,8 +30,6 @@
WINE_DEFAULT_DEBUG_CHANNEL(msvcr90); WINE_DEFAULT_DEBUG_CHANNEL(msvcr90);
typedef int (CDECL *_INITTERM_E_FN)(void);
/********************************************************************* /*********************************************************************
* DllMain (MSVCR90.@) * DllMain (MSVCR90.@)
*/ */
...@@ -81,30 +79,6 @@ void * CDECL _encoded_null(void) ...@@ -81,30 +79,6 @@ void * CDECL _encoded_null(void)
} }
/********************************************************************* /*********************************************************************
* _initterm_e (MSVCR90.@)
*
* call an array of application initialization functions and report the return value
*/
int CDECL _initterm_e(_INITTERM_E_FN *table, _INITTERM_E_FN *end)
{
int res = 0;
TRACE("(%p, %p)\n", table, end);
while (!res && table < end) {
if (*table) {
TRACE("calling %p\n", **table);
res = (**table)();
if (res)
TRACE("function %p failed: 0x%x\n", *table, res);
}
table++;
}
return res;
}
/*********************************************************************
* _invalid_parameter_noinfo (MSVCR90.@) * _invalid_parameter_noinfo (MSVCR90.@)
*/ */
void CDECL _invalid_parameter_noinfo(void) void CDECL _invalid_parameter_noinfo(void)
......
...@@ -571,7 +571,7 @@ ...@@ -571,7 +571,7 @@
@ cdecl _i64tow_s(int64 ptr long long) msvcrt._i64tow_s @ cdecl _i64tow_s(int64 ptr long long) msvcrt._i64tow_s
@ stub _initptd @ stub _initptd
@ cdecl _initterm(ptr ptr) msvcrt._initterm @ cdecl _initterm(ptr ptr) msvcrt._initterm
@ cdecl _initterm_e(ptr ptr) @ cdecl _initterm_e(ptr ptr) msvcrt._initterm_e
@ stub _inp @ stub _inp
@ stub _inpd @ stub _inpd
@ stub _inpw @ stub _inpw
......
...@@ -132,6 +132,7 @@ MSVCRT_wchar_t ** msvcrt_SnapshotOfEnvironmentW(MSVCRT_wchar_t **wblk) ...@@ -132,6 +132,7 @@ MSVCRT_wchar_t ** msvcrt_SnapshotOfEnvironmentW(MSVCRT_wchar_t **wblk)
} }
typedef void (CDECL *_INITTERMFUN)(void); typedef void (CDECL *_INITTERMFUN)(void);
typedef int (CDECL *_INITTERM_E_FN)(void);
/*********************************************************************** /***********************************************************************
* __p___argc (MSVCRT.@) * __p___argc (MSVCRT.@)
...@@ -396,6 +397,30 @@ void CDECL _initterm(_INITTERMFUN *start,_INITTERMFUN *end) ...@@ -396,6 +397,30 @@ void CDECL _initterm(_INITTERMFUN *start,_INITTERMFUN *end)
} }
/********************************************************************* /*********************************************************************
* _initterm_e (MSVCRT.@)
*
* call an array of application initialization functions and report the return value
*/
int CDECL _initterm_e(_INITTERM_E_FN *table, _INITTERM_E_FN *end)
{
int res = 0;
TRACE("(%p, %p)\n", table, end);
while (!res && table < end) {
if (*table) {
TRACE("calling %p\n", **table);
res = (**table)();
if (res)
TRACE("function %p failed: 0x%x\n", *table, res);
}
table++;
}
return res;
}
/*********************************************************************
* __set_app_type (MSVCRT.@) * __set_app_type (MSVCRT.@)
*/ */
void CDECL MSVCRT___set_app_type(int app_type) void CDECL MSVCRT___set_app_type(int app_type)
......
...@@ -518,7 +518,7 @@ ...@@ -518,7 +518,7 @@
@ cdecl _i64tow(int64 ptr long) ntdll._i64tow @ cdecl _i64tow(int64 ptr long) ntdll._i64tow
@ cdecl _i64tow_s(int64 ptr long long) _i64tow_s @ cdecl _i64tow_s(int64 ptr long long) _i64tow_s
@ cdecl _initterm(ptr ptr) @ cdecl _initterm(ptr ptr)
# stub _initterm_e @ cdecl _initterm_e(ptr ptr)
@ stub _inp #(long) -i386 @ stub _inp #(long) -i386
@ stub _inpd #(long) -i386 @ stub _inpd #(long) -i386
@ stub _inpw #(long) -i386 @ stub _inpw #(long) -i386
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment