msvcrt: Use public onexit table declarations in importlib.
Signed-off-by: Jacek Caban <jacek@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
aa16d0adf1
commit
6735dcc376
|
@ -24,6 +24,7 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define _CRTIMP
|
#define _CRTIMP
|
||||||
|
#include <process.h>
|
||||||
#include "msvcrt.h"
|
#include "msvcrt.h"
|
||||||
#include "mtdll.h"
|
#include "mtdll.h"
|
||||||
|
|
||||||
|
@ -31,7 +32,7 @@
|
||||||
/*********************************************************************
|
/*********************************************************************
|
||||||
* _initialize_onexit_table (UCRTBASE.@)
|
* _initialize_onexit_table (UCRTBASE.@)
|
||||||
*/
|
*/
|
||||||
int CDECL _initialize_onexit_table(MSVCRT__onexit_table_t *table)
|
int __cdecl _initialize_onexit_table(_onexit_table_t *table)
|
||||||
{
|
{
|
||||||
if (!table)
|
if (!table)
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -45,7 +46,7 @@ int CDECL _initialize_onexit_table(MSVCRT__onexit_table_t *table)
|
||||||
/*********************************************************************
|
/*********************************************************************
|
||||||
* _register_onexit_function (UCRTBASE.@)
|
* _register_onexit_function (UCRTBASE.@)
|
||||||
*/
|
*/
|
||||||
int CDECL _register_onexit_function(MSVCRT__onexit_table_t *table, MSVCRT__onexit_t func)
|
int __cdecl _register_onexit_function(_onexit_table_t *table, _onexit_t func)
|
||||||
{
|
{
|
||||||
if (!table)
|
if (!table)
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -67,7 +68,7 @@ int CDECL _register_onexit_function(MSVCRT__onexit_table_t *table, MSVCRT__onexi
|
||||||
if (table->_last == table->_end)
|
if (table->_last == table->_end)
|
||||||
{
|
{
|
||||||
int len = table->_end - table->_first;
|
int len = table->_end - table->_first;
|
||||||
MSVCRT__onexit_t *tmp = HeapReAlloc(GetProcessHeap(), 0, table->_first, 2 * len * sizeof(void *));
|
_PVFV *tmp = HeapReAlloc(GetProcessHeap(), 0, table->_first, 2 * len * sizeof(void *));
|
||||||
if (!tmp)
|
if (!tmp)
|
||||||
{
|
{
|
||||||
_munlock(_EXIT_LOCK1);
|
_munlock(_EXIT_LOCK1);
|
||||||
|
@ -78,7 +79,7 @@ int CDECL _register_onexit_function(MSVCRT__onexit_table_t *table, MSVCRT__onexi
|
||||||
table->_last = table->_first + len;
|
table->_last = table->_first + len;
|
||||||
}
|
}
|
||||||
|
|
||||||
*table->_last = func;
|
*table->_last = (_PVFV)func;
|
||||||
table->_last++;
|
table->_last++;
|
||||||
_munlock(_EXIT_LOCK1);
|
_munlock(_EXIT_LOCK1);
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -88,10 +89,10 @@ int CDECL _register_onexit_function(MSVCRT__onexit_table_t *table, MSVCRT__onexi
|
||||||
/*********************************************************************
|
/*********************************************************************
|
||||||
* _execute_onexit_table (UCRTBASE.@)
|
* _execute_onexit_table (UCRTBASE.@)
|
||||||
*/
|
*/
|
||||||
int CDECL _execute_onexit_table(MSVCRT__onexit_table_t *table)
|
int __cdecl _execute_onexit_table(_onexit_table_t *table)
|
||||||
{
|
{
|
||||||
MSVCRT__onexit_t *func;
|
_PVFV *func;
|
||||||
MSVCRT__onexit_table_t copy;
|
_onexit_table_t copy;
|
||||||
|
|
||||||
if (!table)
|
if (!table)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
Loading…
Reference in New Issue