msvc-inval: Install handler globally.
authorBruno Haible <bruno@clisp.org>
Sun, 25 Sep 2011 19:05:20 +0000 (21:05 +0200)
committerBruno Haible <bruno@clisp.org>
Sun, 25 Sep 2011 19:05:20 +0000 (21:05 +0200)
commit07edb02c97efe29a68bf5acd6cc3fcb0f7e79582
tree5feb992d876fe7689f563f799d27eff97141b02b
parentc6ca5b7979c7c38c92e9853f3d96c9494f8e0658
msvc-inval: Install handler globally.

* lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
!_MSC_VER.
(gl_msvc_invalid_parameter_handler): Remove declaration.
(gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
declarations.
(TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
Install the handler globally, don't uninstall it.
* lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
(gl_msvc_invalid_parameter_handler): Make static. If the restart is not
currently valid, call RaiseException instead.
(gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
for !_MSC_VER.
ChangeLog
lib/msvc-inval.c
lib/msvc-inval.h