Module: wine Branch: master Commit: babe6ceb7f7b206ce8181e35934fc0aa1ee02ae5 URL: https://source.winehq.org/git/wine.git/?a=commit;h=babe6ceb7f7b206ce8181e359...
Author: Piotr Caban piotr@codeweavers.com Date: Mon Nov 30 14:37:30 2020 +0100
msvcrt: Use _onexit_table_t from public header.
Signed-off-by: Piotr Caban piotr@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/msvcrt/exit.c | 37 +++++++++++++++++++------------------ dlls/msvcrt/msvcrt.h | 8 -------- 2 files changed, 19 insertions(+), 26 deletions(-)
diff --git a/dlls/msvcrt/exit.c b/dlls/msvcrt/exit.c index df0b4636207..8e175859153 100644 --- a/dlls/msvcrt/exit.c +++ b/dlls/msvcrt/exit.c @@ -17,6 +17,7 @@ * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ +#include <process.h> #include <stdio.h> #include "msvcrt.h" #include "mtdll.h" @@ -31,7 +32,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(msvcrt);
static MSVCRT_purecall_handler purecall_handler = NULL;
-static MSVCRT__onexit_table_t MSVCRT_atexit_table; +static _onexit_table_t MSVCRT_atexit_table;
typedef void (__stdcall *_tls_callback_type)(void*,ULONG,void*); static _tls_callback_type tls_atexit_callback; @@ -53,7 +54,7 @@ static int MSVCRT_error_mode = MSVCRT__OUT_TO_DEFAULT;
void (*CDECL _aexit_rtn)(int) = MSVCRT__exit;
-static int initialize_onexit_table(MSVCRT__onexit_table_t *table) +static int initialize_onexit_table(_onexit_table_t *table) { if (!table) return -1; @@ -63,7 +64,7 @@ static int initialize_onexit_table(MSVCRT__onexit_table_t *table) return 0; }
-static int register_onexit_function(MSVCRT__onexit_table_t *table, MSVCRT__onexit_t func) +static int register_onexit_function(_onexit_table_t *table, _onexit_t func) { if (!table) return -1; @@ -86,7 +87,7 @@ static int register_onexit_function(MSVCRT__onexit_table_t *table, MSVCRT__onexi if (table->_last == table->_end) { int len = table->_end - table->_first; - MSVCRT__onexit_t *tmp = MSVCRT_realloc(table->_first, 2 * len * sizeof(void *)); + _PVFV *tmp = MSVCRT_realloc(table->_first, 2 * len * sizeof(void *)); if (!tmp) { WARN("failed to grow table.\n"); @@ -98,16 +99,16 @@ static int register_onexit_function(MSVCRT__onexit_table_t *table, MSVCRT__onexi table->_last = table->_first + len; }
- *table->_last = func; + *table->_last = (_PVFV)func; table->_last++; LeaveCriticalSection(&MSVCRT_onexit_cs); return 0; }
-static int execute_onexit_table(MSVCRT__onexit_table_t *table) +static int execute_onexit_table(_onexit_table_t *table) { - MSVCRT__onexit_t *func; - MSVCRT__onexit_table_t copy; + _onexit_table_t copy; + _PVFV *func;
if (!table) return -1; @@ -145,9 +146,9 @@ static void call_atexit(void) /********************************************************************* * __dllonexit (MSVCRT.@) */ -MSVCRT__onexit_t CDECL __dllonexit(MSVCRT__onexit_t func, MSVCRT__onexit_t **start, MSVCRT__onexit_t **end) +_onexit_t CDECL __dllonexit(_onexit_t func, _onexit_t **start, _onexit_t **end) { - MSVCRT__onexit_t *tmp; + _onexit_t *tmp; int len;
TRACE("(%p,%p,%p)\n", func, start, end); @@ -336,7 +337,7 @@ void CDECL MSVCRT__cexit(void) /********************************************************************* * _onexit (MSVCRT.@) */ -MSVCRT__onexit_t CDECL MSVCRT__onexit(MSVCRT__onexit_t func) +_onexit_t CDECL MSVCRT__onexit(_onexit_t func) { TRACE("(%p)\n",func);
@@ -380,11 +381,11 @@ void CDECL MSVCRT_exit(int exitcode) int CDECL MSVCRT_atexit(void (__cdecl *func)(void)) { TRACE("(%p)\n", func); - return MSVCRT__onexit((MSVCRT__onexit_t)func) == (MSVCRT__onexit_t)func ? 0 : -1; + return MSVCRT__onexit((_onexit_t)func) == (_onexit_t)func ? 0 : -1; }
#if _MSVCR_VER >= 140 -static MSVCRT__onexit_table_t MSVCRT_quick_exit_table; +static _onexit_table_t MSVCRT_quick_exit_table;
/********************************************************************* * _crt_at_quick_exit (UCRTBASE.@) @@ -392,7 +393,7 @@ static MSVCRT__onexit_table_t MSVCRT_quick_exit_table; int CDECL MSVCRT__crt_at_quick_exit(void (__cdecl *func)(void)) { TRACE("(%p)\n", func); - return register_onexit_function(&MSVCRT_quick_exit_table, (MSVCRT__onexit_t)func); + return register_onexit_function(&MSVCRT_quick_exit_table, (_onexit_t)func); }
/********************************************************************* @@ -412,13 +413,13 @@ void CDECL MSVCRT_quick_exit(int exitcode) int CDECL MSVCRT__crt_atexit(void (__cdecl *func)(void)) { TRACE("(%p)\n", func); - return MSVCRT__onexit((MSVCRT__onexit_t)func) == (MSVCRT__onexit_t)func ? 0 : -1; + return MSVCRT__onexit((_onexit_t)func) == (_onexit_t)func ? 0 : -1; }
/********************************************************************* * _initialize_onexit_table (UCRTBASE.@) */ -int CDECL MSVCRT__initialize_onexit_table(MSVCRT__onexit_table_t *table) +int CDECL MSVCRT__initialize_onexit_table(_onexit_table_t *table) { TRACE("(%p)\n", table);
@@ -428,7 +429,7 @@ int CDECL MSVCRT__initialize_onexit_table(MSVCRT__onexit_table_t *table) /********************************************************************* * _register_onexit_function (UCRTBASE.@) */ -int CDECL MSVCRT__register_onexit_function(MSVCRT__onexit_table_t *table, MSVCRT__onexit_t func) +int CDECL MSVCRT__register_onexit_function(_onexit_table_t *table, _onexit_t func) { TRACE("(%p %p)\n", table, func);
@@ -438,7 +439,7 @@ int CDECL MSVCRT__register_onexit_function(MSVCRT__onexit_table_t *table, MSVCRT /********************************************************************* * _execute_onexit_table (UCRTBASE.@) */ -int CDECL MSVCRT__execute_onexit_table(MSVCRT__onexit_table_t *table) +int CDECL MSVCRT__execute_onexit_table(_onexit_table_t *table) { TRACE("(%p)\n", table);
diff --git a/dlls/msvcrt/msvcrt.h b/dlls/msvcrt/msvcrt.h index d154d9757d8..43dad306e58 100644 --- a/dlls/msvcrt/msvcrt.h +++ b/dlls/msvcrt/msvcrt.h @@ -36,7 +36,6 @@ typedef void (__cdecl *unexpected_function)(void); typedef void (__cdecl *_se_translator_function)(unsigned int code, struct _EXCEPTION_POINTERS *info); void __cdecl terminate(void);
-typedef int (__cdecl *MSVCRT__onexit_t)(void); typedef void (__cdecl *MSVCRT_invalid_parameter_handler)(const wchar_t*, const wchar_t*, const wchar_t*, unsigned, uintptr_t); typedef void (__cdecl *MSVCRT_purecall_handler)(void); typedef void (__cdecl *MSVCRT_security_error_handler)(int, void *); @@ -93,13 +92,6 @@ typedef struct threadmbcinfostruct { unsigned char mbcasemap[256]; } threadmbcinfo;
-typedef struct MSVCRT__onexit_table_t -{ - MSVCRT__onexit_t *_first; - MSVCRT__onexit_t *_last; - MSVCRT__onexit_t *_end; -} MSVCRT__onexit_table_t; - typedef struct _frame_info { void *object;