msvcrt: Implemented __CppXcptFilter.

This commit is contained in:
Alexandre Julliard 2008-03-11 16:14:44 +01:00
parent 863240b77b
commit a6d7b6fc60
4 changed files with 16 additions and 2 deletions

View File

@ -75,7 +75,7 @@
@ extern _HUGE msvcrt._HUGE @ extern _HUGE msvcrt._HUGE
@ cdecl _Strftime(str long str ptr ptr) msvcrt._Strftime @ cdecl _Strftime(str long str ptr ptr) msvcrt._Strftime
@ cdecl _XcptFilter(long ptr) msvcrt._XcptFilter @ cdecl _XcptFilter(long ptr) msvcrt._XcptFilter
@ stub __CppXcptFilter @ cdecl __CppXcptFilter(long ptr) msvcrt.__CppXcptFilter
@ stub __CxxCallUnwindDtor @ stub __CxxCallUnwindDtor
@ stub __CxxCallUnwindVecDtor @ stub __CxxCallUnwindVecDtor
@ stub __CxxDetectRethrow @ stub __CxxDetectRethrow

View File

@ -440,6 +440,17 @@ void __stdcall __CxxLongjmpUnwind( const struct MSVCRT___JUMP_BUFFER *buf )
#endif /* __i386__ */ #endif /* __i386__ */
/*********************************************************************
* __CppXcptFilter (MSVCRT.@)
*/
int CDECL __CppXcptFilter(NTSTATUS ex, PEXCEPTION_POINTERS ptr)
{
/* only filter c++ exceptions */
if (ex != CXX_EXCEPTION) return EXCEPTION_CONTINUE_SEARCH;
return _XcptFilter( ex, ptr );
}
/********************************************************************* /*********************************************************************
* _CxxThrowException (MSVCRT.@) * _CxxThrowException (MSVCRT.@)
*/ */

View File

@ -133,7 +133,9 @@ typedef struct __cxx_exception_type
const cxx_type_info_table *type_info_table; /* list of types for this exception object */ const cxx_type_info_table *type_info_table; /* list of types for this exception object */
} cxx_exception_type; } cxx_exception_type;
void _CxxThrowException(exception*,const cxx_exception_type*); void CDECL _CxxThrowException(exception*,const cxx_exception_type*);
int CDECL _XcptFilter(NTSTATUS, PEXCEPTION_POINTERS);
int CDECL __CppXcptFilter(NTSTATUS, PEXCEPTION_POINTERS);
static inline const char *dbgstr_type_info( const type_info *info ) static inline const char *dbgstr_type_info( const type_info *info )
{ {

View File

@ -75,6 +75,7 @@
@ extern _HUGE MSVCRT__HUGE @ extern _HUGE MSVCRT__HUGE
@ cdecl _Strftime(str long str ptr ptr) @ cdecl _Strftime(str long str ptr ptr)
@ cdecl _XcptFilter(long ptr) @ cdecl _XcptFilter(long ptr)
@ cdecl __CppXcptFilter(long ptr)
@ cdecl __CxxDetectRethrow(ptr) @ cdecl __CxxDetectRethrow(ptr)
@ cdecl -i386 -norelay __CxxFrameHandler(ptr ptr ptr ptr) @ cdecl -i386 -norelay __CxxFrameHandler(ptr ptr ptr ptr)
@ stdcall -i386 __CxxLongjmpUnwind(ptr) @ stdcall -i386 __CxxLongjmpUnwind(ptr)