diff options
author | unknown <msvensson@pilot.(none)> | 2007-05-29 12:53:23 +0200 |
---|---|---|
committer | unknown <msvensson@pilot.(none)> | 2007-05-29 12:53:23 +0200 |
commit | 116b14313d44b3e4bee8be2ec53311ad68be6b8d (patch) | |
tree | 7c8ffc5aa09dca3bae32e6fa899bdc7356e8052d /mysys | |
parent | eab7e4d4e4375aa68996908ab391d3fd6b621ff3 (diff) | |
parent | 6d88cdf828e01a564b1dc40349f3780f0c18a9f5 (diff) | |
download | mariadb-git-116b14313d44b3e4bee8be2ec53311ad68be6b8d.tar.gz |
Merge pilot.(none):/data/msvensson/mysql/bug27597/my50-bug27597
into pilot.(none):/data/msvensson/mysql/mysql-5.0-maint
Diffstat (limited to 'mysys')
-rw-r--r-- | mysys/my_init.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/mysys/my_init.c b/mysys/my_init.c index 2bcf5f44c4d..32d3f07fd31 100644 --- a/mysys/my_init.c +++ b/mysys/my_init.c @@ -262,6 +262,34 @@ void my_parameter_handler(const wchar_t * expression, const wchar_t * function, } +#ifdef __MSVC_RUNTIME_CHECKS +#include <rtcapi.h> + +/* Turn off runtime checks for 'handle_rtc_failure' */ +#pragma runtime_checks("", off) + +/* + handle_rtc_failure + Catch the RTC error and dump it to stderr +*/ + +int handle_rtc_failure(int err_type, const char *file, int line, + const char* module, const char *format, ...) +{ + va_list args; + va_start(args, format); + fprintf(stderr, "Error:"); + vfprintf(stderr, format, args); + fprintf(stderr, " At %s:%d\n", file, line); + va_end(args); + (void) fflush(stderr); + + return 0; /* Error is handled */ +} +#pragma runtime_checks("", on) +#endif + + static void my_win_init(void) { HKEY hSoftMysql ; @@ -292,6 +320,14 @@ static void my_win_init(void) _set_invalid_parameter_handler(my_parameter_handler); #endif #endif +#ifdef __MSVC_RUNTIME_CHECKS + /* + Install handler to send RTC (Runtime Error Check) warnings + to log file + */ + _RTC_SetErrorFunc(handle_rtc_failure); +#endif + _tzset(); /* apre la chiave HKEY_LOCAL_MACHINES\software\MySQL */ |