summaryrefslogtreecommitdiff
path: root/mysys
diff options
context:
space:
mode:
authorholyfoot@deer.(none) <>2006-06-27 15:22:43 +0500
committerholyfoot@deer.(none) <>2006-06-27 15:22:43 +0500
commit1530106bacdcd268d8e4ba863d677b8b00044251 (patch)
tree4dcd683cf5ee7b072fef0b4146bc16d889ced335 /mysys
parent93210b0a28a9dfdc8b603957c7fded3dcd53667a (diff)
parent8a975f4a306dd5cfb80958fc01661b504605505c (diff)
downloadmariadb-git-1530106bacdcd268d8e4ba863d677b8b00044251.tar.gz
Merge mysql.com:/home/hf/work/mysql-5.0.19672
into mysql.com:/home/hf/work/mysql-5.1.clean
Diffstat (limited to 'mysys')
-rw-r--r--mysys/my_init.c24
1 files changed, 23 insertions, 1 deletions
diff --git a/mysys/my_init.c b/mysys/my_init.c
index 588bb6f46d6..dca68637161 100644
--- a/mysys/my_init.c
+++ b/mysys/my_init.c
@@ -246,6 +246,22 @@ void setEnvString(char *ret, const char *name, const char *value)
DBUG_VOID_RETURN ;
}
+/*
+ my_paramter_handler
+ Invalid paramter handler we will use instead of the one "baked" into the CRT
+ for MSC v8. This one just prints out what invalid parameter was encountered.
+ By providing this routine, routines like lseek will return -1 when we expect them
+ to instead of crash.
+*/
+void my_parameter_handler(const wchar_t * expression, const wchar_t * function,
+ const wchar_t * file, unsigned int line,
+ uintptr_t pReserved)
+{
+ DBUG_PRINT("my",("Expression: %s function: %s file: %s, line: %d",
+ expression, function, file, line));
+}
+
+
static void my_win_init(void)
{
HKEY hSoftMysql ;
@@ -263,12 +279,18 @@ static void my_win_init(void)
setlocale(LC_CTYPE, ""); /* To get right sortorder */
-#if defined(_MSC_VER) && (_MSC_VER < 1300)
+#if defined(_MSC_VER)
+#if _MSC_VER < 1300
/*
Clear the OS system variable TZ and avoid the 100% CPU usage
Only for old versions of Visual C++
*/
_putenv( "TZ=" );
+#endif
+#if _MSC_VER >= 1400
+ /* this is required to make crt functions return -1 appropriately */
+ _set_invalid_parameter_handler(my_parameter_handler);
+#endif
#endif
_tzset();