From 7311cbe7dee5980d921ec43177fd268783eb18e2 Mon Sep 17 00:00:00 2001
From: unknown <monty@hundin.mysql.fi>
Date: Fri, 28 Jun 2002 17:26:11 +0300
Subject: [PATCH] Updated windows files (VC++ files and winmysqladmin).
 Portability fixes. Removed compiler warnings.

VC++Files/client/mysql.dsp:
  Updated to 4.0.2
VC++Files/client/mysqladmin.dsp:
  Updated to 4.0.2
VC++Files/client/mysqlclient.dsp:
  Updated to 4.0.2
VC++Files/client/mysqldump.dsp:
  Updated to 4.0.2
VC++Files/client/mysqlimport.dsp:
  Updated to 4.0.2
VC++Files/client/mysqlshow.dsp:
  Updated to 4.0.2
VC++Files/innobase/innobase.dsp:
  Updated to 4.0.2
VC++Files/libmysql/libmySQL.dsp:
  Updated to 4.0.2
VC++Files/libmysqltest/myTest.dsp:
  Updated to 4.0.2
VC++Files/merge/merge.dsp:
  Updated to 4.0.2
VC++Files/myisam/myisam.dsp:
  Updated to 4.0.2
VC++Files/mysql.dsw:
  Updated to 4.0.2
VC++Files/mysqlbinlog/mysqlbinlog.dsp:
  Updated to 4.0.2
VC++Files/mysqlcheck/mysqlcheck.dsp:
  Updated to 4.0.2
VC++Files/mysqlmanager/MySqlManager.dsp:
  Updated to 4.0.2
VC++Files/mysys/mysys.dsp:
  Updated to 4.0.2
VC++Files/pack_isam/pack_isam.dsp:
  Updated to 4.0.2
VC++Files/perror/perror.dsp:
  Updated to 4.0.2
VC++Files/replace/replace.dsp:
  Updated to 4.0.2
VC++Files/sql/mysqld.dsp:
  Updated to 4.0.2
VC++Files/test1/test1.dsp:
  Updated to 4.0.2
VC++Files/thr_insert_test/thr_insert_test.dsp:
  Updated to 4.0.2
VC++Files/thr_test/thr_test.dsp:
  Updated to 4.0.2
VC++Files/vio/vio.dsp:
  Updated to 4.0.2
VC++Files/zlib/zlib.dsp:
  Updated to 4.0.2
include/config-win.h:
  Added isnan() and finite()
include/myisam.h:
  Move thr_xxx functions to myisam_priv.h
myisam/mi_check.c:
  Portability fix.
myisam/mi_locking.c:
  Comment cleanup
myisam/myisamchk.c:
  Removed compiler warning
myisam/myisamdef.h:
  Added thr_xxx functions
myisam/sort.c:
  Portability fix
sql/field.cc:
  Portability fix
sql/sql_insert.cc:
  R
---
 VC++Files/bdb/bdb.dsp                         |  707 +++++
 VC++Files/client/mysql.dsp                    |    3 +-
 VC++Files/client/mysqladmin.dsp               |    3 +-
 VC++Files/client/mysqlclient.dsp              |   44 +-
 VC++Files/client/mysqldump.dsp                |    5 +-
 VC++Files/client/mysqlimport.dsp              |    5 +-
 VC++Files/client/mysqlshow.dsp                |    5 +-
 VC++Files/innobase/innobase.dsp               |   25 +
 VC++Files/libmysql/libmySQL.dsp               |   19 +-
 .../libmysqld/examples/test_libmysqld.dsp     |   66 +
 VC++Files/libmysqld/libmysqld.dsp             |  405 +++
 VC++Files/libmysqltest/myTest.dsp             |    3 +-
 VC++Files/libmysqltest/mytest.c               |  170 ++
 VC++Files/merge/merge.dsp                     |    8 -
 VC++Files/myisam/myisam.dsp                   |    8 -
 VC++Files/mysql.dsw                           |  126 +
 VC++Files/mysqlbinlog/mysqlbinlog.dsp         |    2 +-
 VC++Files/mysqlcheck/mysqlcheck.dsp           |    8 +-
 VC++Files/mysqldemb/mysqldemb.dsp             |  392 +++
 VC++Files/mysqlmanager/MySqlManager.dsp       |    3 +-
 VC++Files/mysqlserver/mysqlserver.dsp         |   84 +
 VC++Files/mysqlshutdown/mysqlshutdown.c       |  198 ++
 VC++Files/mysqlwatch/mysqlwatch.c             |  745 +++++
 VC++Files/mysys/mysys.dsp                     |   47 +-
 VC++Files/pack_isam/pack_isam.dsp             |    3 +-
 VC++Files/perror/perror.dsp                   |    4 +-
 VC++Files/replace/replace.dsp                 |    3 +-
 VC++Files/sql/mysqld.dsp                      |   13 +-
 VC++Files/test1/test1.dsp                     |    3 +-
 VC++Files/thr_insert_test/thr_insert_test.dsp |    4 +-
 VC++Files/thr_test/thr_test.dsp               |    3 +-
 VC++Files/vio/vio.dsp                         |    2 +-
 VC++Files/winmysqladmin/db.cpp                |   80 +
 VC++Files/winmysqladmin/db.h                  |   32 +
 VC++Files/winmysqladmin/images/Goahead.ico    |  Bin 0 -> 766 bytes
 VC++Files/winmysqladmin/images/HELP.ICO       |  Bin 0 -> 766 bytes
 VC++Files/winmysqladmin/images/INFO.ICO       |  Bin 0 -> 766 bytes
 VC++Files/winmysqladmin/images/Info.bmp       |  Bin 0 -> 644 bytes
 VC++Files/winmysqladmin/images/MYINI.ICO      |  Bin 0 -> 766 bytes
 VC++Files/winmysqladmin/images/Myini.bmp      |  Bin 0 -> 644 bytes
 VC++Files/winmysqladmin/images/Noentry.ico    |  Bin 0 -> 766 bytes
 VC++Files/winmysqladmin/images/SETUP.BMP      |  Bin 0 -> 86878 bytes
 VC++Files/winmysqladmin/images/Setup 16.bmp   |  Bin 0 -> 86880 bytes
 VC++Files/winmysqladmin/images/Table.ico      |  Bin 0 -> 1078 bytes
 VC++Files/winmysqladmin/images/Working.ico    |  Bin 0 -> 766 bytes
 VC++Files/winmysqladmin/images/database.ico   |  Bin 0 -> 1078 bytes
 VC++Files/winmysqladmin/images/find.ico       |  Bin 0 -> 766 bytes
 VC++Files/winmysqladmin/images/green.ico      |  Bin 0 -> 766 bytes
 VC++Files/winmysqladmin/images/help.bmp       |  Bin 0 -> 644 bytes
 VC++Files/winmysqladmin/images/initsetup.cpp  |   42 +
 VC++Files/winmysqladmin/images/killdb.ico     |  Bin 0 -> 1078 bytes
 VC++Files/winmysqladmin/images/logo.ico       |  Bin 0 -> 2022 bytes
 VC++Files/winmysqladmin/images/multitrg.ico   |  Bin 0 -> 766 bytes
 VC++Files/winmysqladmin/images/mysql-07.bmp   |  Bin 0 -> 9618 bytes
 VC++Files/winmysqladmin/images/mysql-17.bmp   |  Bin 0 -> 3806 bytes
 VC++Files/winmysqladmin/images/mysql.BMP      |  Bin 0 -> 8760 bytes
 VC++Files/winmysqladmin/images/red.ico        |  Bin 0 -> 766 bytes
 VC++Files/winmysqladmin/images/red22.BMP      |  Bin 0 -> 2104 bytes
 VC++Files/winmysqladmin/images/see.bmp        |  Bin 0 -> 644 bytes
 VC++Files/winmysqladmin/initsetup.cpp         |   40 +
 VC++Files/winmysqladmin/initsetup.h           |   38 +
 VC++Files/winmysqladmin/main.cpp              | 2529 +++++++++++++++++
 VC++Files/winmysqladmin/main.h                |  314 ++
 VC++Files/winmysqladmin/mysql.h               |  293 ++
 VC++Files/winmysqladmin/mysql_com.h           |  242 ++
 VC++Files/winmysqladmin/mysql_version.h       |   20 +
 VC++Files/winmysqladmin/winmysqladmin.cpp     |   38 +
 VC++Files/zlib/zlib.dsp                       |    3 +-
 include/config-win.h                          |   67 +-
 include/myisam.h                              |    5 +-
 myisam/mi_check.c                             |   12 +-
 myisam/mi_locking.c                           |    2 +-
 myisam/myisamchk.c                            |    2 +-
 myisam/myisamdef.h                            |    4 +
 myisam/sort.c                                 |    7 +-
 sql/field.cc                                  |    4 +-
 sql/sql_insert.cc                             |    2 +
 77 files changed, 6753 insertions(+), 139 deletions(-)
 create mode 100644 VC++Files/bdb/bdb.dsp
 create mode 100644 VC++Files/libmysqld/examples/test_libmysqld.dsp
 create mode 100644 VC++Files/libmysqld/libmysqld.dsp
 create mode 100644 VC++Files/libmysqltest/mytest.c
 create mode 100644 VC++Files/mysqldemb/mysqldemb.dsp
 create mode 100644 VC++Files/mysqlserver/mysqlserver.dsp
 create mode 100644 VC++Files/mysqlshutdown/mysqlshutdown.c
 create mode 100644 VC++Files/mysqlwatch/mysqlwatch.c
 create mode 100644 VC++Files/winmysqladmin/db.cpp
 create mode 100644 VC++Files/winmysqladmin/db.h
 create mode 100644 VC++Files/winmysqladmin/images/Goahead.ico
 create mode 100644 VC++Files/winmysqladmin/images/HELP.ICO
 create mode 100644 VC++Files/winmysqladmin/images/INFO.ICO
 create mode 100644 VC++Files/winmysqladmin/images/Info.bmp
 create mode 100644 VC++Files/winmysqladmin/images/MYINI.ICO
 create mode 100644 VC++Files/winmysqladmin/images/Myini.bmp
 create mode 100644 VC++Files/winmysqladmin/images/Noentry.ico
 create mode 100644 VC++Files/winmysqladmin/images/SETUP.BMP
 create mode 100644 VC++Files/winmysqladmin/images/Setup 16.bmp
 create mode 100644 VC++Files/winmysqladmin/images/Table.ico
 create mode 100644 VC++Files/winmysqladmin/images/Working.ico
 create mode 100644 VC++Files/winmysqladmin/images/database.ico
 create mode 100644 VC++Files/winmysqladmin/images/find.ico
 create mode 100644 VC++Files/winmysqladmin/images/green.ico
 create mode 100644 VC++Files/winmysqladmin/images/help.bmp
 create mode 100644 VC++Files/winmysqladmin/images/initsetup.cpp
 create mode 100644 VC++Files/winmysqladmin/images/killdb.ico
 create mode 100644 VC++Files/winmysqladmin/images/logo.ico
 create mode 100644 VC++Files/winmysqladmin/images/multitrg.ico
 create mode 100644 VC++Files/winmysqladmin/images/mysql-07.bmp
 create mode 100644 VC++Files/winmysqladmin/images/mysql-17.bmp
 create mode 100644 VC++Files/winmysqladmin/images/mysql.BMP
 create mode 100644 VC++Files/winmysqladmin/images/red.ico
 create mode 100644 VC++Files/winmysqladmin/images/red22.BMP
 create mode 100644 VC++Files/winmysqladmin/images/see.bmp
 create mode 100644 VC++Files/winmysqladmin/initsetup.cpp
 create mode 100644 VC++Files/winmysqladmin/initsetup.h
 create mode 100644 VC++Files/winmysqladmin/main.cpp
 create mode 100644 VC++Files/winmysqladmin/main.h
 create mode 100644 VC++Files/winmysqladmin/mysql.h
 create mode 100644 VC++Files/winmysqladmin/mysql_com.h
 create mode 100644 VC++Files/winmysqladmin/mysql_version.h
 create mode 100644 VC++Files/winmysqladmin/winmysqladmin.cpp

diff --git a/VC++Files/bdb/bdb.dsp b/VC++Files/bdb/bdb.dsp
new file mode 100644
index 00000000000..bed306fc3d0
--- /dev/null
+++ b/VC++Files/bdb/bdb.dsp
@@ -0,0 +1,707 @@
+# Microsoft Developer Studio Project File - Name="bdb" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Static Library" 0x0104
+
+CFG=bdb - Win32 Release
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE 
+!MESSAGE NMAKE /f "bdb.mak".
+!MESSAGE 
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE 
+!MESSAGE NMAKE /f "bdb.mak" CFG="bdb - Win32 Release"
+!MESSAGE 
+!MESSAGE Possible choices for configuration are:
+!MESSAGE 
+!MESSAGE "bdb - Win32 Debug" (based on "Win32 (x86) Static Library")
+!MESSAGE "bdb - Win32 Max" (based on "Win32 (x86) Static Library")
+!MESSAGE "bdb - Win32 Release" (based on "Win32 (x86) Static Library")
+!MESSAGE 
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF  "$(CFG)" == "bdb - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
+# ADD CPP /nologo /G6 /MTd /W3 /Z7 /Od /Gf /I "../bdb/build_win32" /I "../bdb/include" /D "__WIN32__" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /FD /c
+# SUBTRACT CPP /Fr
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo
+# ADD LIB32 /nologo /out:"..\lib_debug\bdb.lib"
+
+!ELSEIF  "$(CFG)" == "bdb - Win32 Max"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "bdb___Win32_Max"
+# PROP BASE Intermediate_Dir "bdb___Win32_Max"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "bdb___Win32_Max"
+# PROP Intermediate_Dir "bdb___Win32_Max"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /G6 /MTd /W3 /Z7 /Od /Gf /I "../bdb/build_win32" /I "../bdb/include" /D "__WIN32__" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /FD /c
+# SUBTRACT BASE CPP /Fr
+# ADD CPP /nologo /G6 /MT /W3 /O2 /I "../bdb/build_win32" /I "../bdb/include" /D "NDEBUG" /D "DBUG_OFF" /D "_WINDOWS" /Fo"mysys___Win32_Max/" /Fd"mysys___Win32_Max/" /FD /c
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo /out:"..\lib_debug\bdb.lib"
+# ADD LIB32 /nologo /out:"..\lib_release\bdb.lib"
+
+!ELSEIF  "$(CFG)" == "bdb - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "bdb___Win32_Release"
+# PROP BASE Intermediate_Dir "bdb___Win32_Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "bdb___Win32_Release"
+# PROP Intermediate_Dir "bdb___Win32_Release"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../bdb/build_win32" /I "../bdb/include" /D "NDEBUG" /D "DBUG_OFF" /D "_WINDOWS" /Fo"mysys___Win32_Max/" /Fd"mysys___Win32_Max/" /FD /c
+# ADD CPP /nologo /G6 /MT /W3 /O2 /I "../bdb/build_win32" /I "../bdb/include" /D "NDEBUG" /D "DBUG_OFF" /D "_WINDOWS" /Fo"mysys___Win32_Max/" /Fd"mysys___Win32_Max/" /FD /c
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo /out:"..\lib_release\bdb.lib"
+# ADD LIB32 /nologo /out:"..\lib_release\bdb.lib"
+
+!ENDIF 
+
+# Begin Target
+
+# Name "bdb - Win32 Debug"
+# Name "bdb - Win32 Max"
+# Name "bdb - Win32 Release"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\btree\bt_compare.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\btree\bt_conv.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\btree\bt_curadj.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\btree\bt_cursor.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\btree\bt_delete.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\btree\bt_method.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\btree\bt_open.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\btree\bt_put.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\btree\bt_rec.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\btree\bt_reclaim.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\btree\bt_recno.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\btree\bt_rsearch.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\btree\bt_search.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\btree\bt_split.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\btree\bt_stat.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\btree\bt_upgrade.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\btree\bt_verify.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\btree\btree_auto.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\db\crdel_auto.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\db\crdel_rec.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\cxx\cxx_app.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\cxx\cxx_except.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\cxx\cxx_lock.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\cxx\cxx_log.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\cxx\cxx_mpool.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\cxx\cxx_table.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\cxx\cxx_txn.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\db\db.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\db\db_am.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\db\db_auto.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\common\db_byteorder.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\db\db_cam.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\db\db_conv.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\db\db_dispatch.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\db\db_dup.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\common\db_err.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\common\db_getlong.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\db\db_iface.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\db\db_join.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\common\db_log2.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\db\db_meta.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\db\db_method.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\db\db_overflow.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\db\db_pr.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\db\db_rec.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\db\db_reclaim.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\db\db_ret.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\env\db_salloc.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\env\db_shash.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\db\db_upg.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\db\db_upg_opd.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\db\db_vrfy.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\db\db_vrfyutil.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\dbm\dbm.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\env\env_method.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\env\env_open.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\env\env_recover.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\env\env_region.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\hash\hash.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\hash\hash_auto.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\hash\hash_conv.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\hash\hash_dup.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\hash\hash_func.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\hash\hash_meta.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\hash\hash_method.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\hash\hash_page.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\hash\hash_rec.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\hash\hash_reclaim.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\hash\hash_stat.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\hash\hash_upgrade.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\hash\hash_verify.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\hsearch\hsearch.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\lock\lock.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\lock\lock_conflict.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\lock\lock_deadlock.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\lock\lock_method.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\lock\lock_region.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\lock\lock_stat.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\lock\lock_util.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\log\log.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\log\log_archive.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\log\log_auto.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\log\log_compare.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\log\log_findckp.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\log\log_get.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\log\log_method.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\log\log_put.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\log\log_rec.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\log\log_register.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\mp\mp_alloc.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\mp\mp_bh.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\mp\mp_fget.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\mp\mp_fopen.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\mp\mp_fput.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\mp\mp_fset.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\mp\mp_method.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\mp\mp_region.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\mp\mp_register.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\mp\mp_stat.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\mp\mp_sync.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\mp\mp_trickle.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\mutex\mut_tas.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\mutex\mutex.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\os_win32\os_abs.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\os\os_alloc.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\os_win32\os_dir.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\os_win32\os_errno.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\os_win32\os_fid.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\os_win32\os_finit.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\os\os_fsync.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\os\os_handle.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\os_win32\os_map.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\os\os_method.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\os\os_oflags.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\os_win32\os_open.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\os\os_region.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\os_win32\os_rename.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\os\os_root.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\os\os_rpath.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\os\os_rw.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\os_win32\os_seek.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\os_win32\os_sleep.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\os_win32\os_spin.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\os\os_stat.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\os\os_tmpdir.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\os_win32\os_type.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\os\os_unlink.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\qam\qam.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\qam\qam_auto.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\qam\qam_conv.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\qam\qam_files.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\qam\qam_method.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\qam\qam_open.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\qam\qam_rec.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\qam\qam_stat.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\qam\qam_upgrade.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\qam\qam_verify.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\clib\strcasecmp.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\txn\txn.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\txn\txn_auto.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\txn\txn_rec.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\txn\txn_region.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\common\util_log.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\common\util_sig.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\xa\xa.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\xa\xa_db.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\xa\xa_map.c
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# End Group
+# End Target
+# End Project
diff --git a/VC++Files/client/mysql.dsp b/VC++Files/client/mysql.dsp
index 1cefdd2b67b..4c9819bacde 100644
--- a/VC++Files/client/mysql.dsp
+++ b/VC++Files/client/mysql.dsp
@@ -68,8 +68,7 @@ LINK32=link.exe
 # PROP Ignore_Export_Lib 0
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /G6 /MTd /W3 /Gm /ZI /Od /I "../include" /I "../" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /FD /c
-# SUBTRACT CPP /YX
+# ADD CPP /nologo /G6 /MTd /W3 /Gm /Zi /Od /I "../include" /I "../" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /FD /c
 # ADD BASE RSC /l 0x409 /d "_DEBUG"
 # ADD RSC /l 0x409 /d "_DEBUG"
 BSC32=bscmake.exe
diff --git a/VC++Files/client/mysqladmin.dsp b/VC++Files/client/mysqladmin.dsp
index 82794da57cb..278bcdae8b0 100644
--- a/VC++Files/client/mysqladmin.dsp
+++ b/VC++Files/client/mysqladmin.dsp
@@ -67,8 +67,7 @@ LINK32=link.exe
 # PROP Ignore_Export_Lib 0
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /G6 /MTd /W3 /Gm /ZI /Od /I "../include" /I "../" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /FD /c
-# SUBTRACT CPP /YX
+# ADD CPP /nologo /G6 /MTd /W3 /Gm /Zi /Od /I "../include" /I "../" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /FD /c
 # ADD BASE RSC /l 0x409 /d "_DEBUG"
 # ADD RSC /l 0x409 /d "_DEBUG"
 BSC32=bscmake.exe
diff --git a/VC++Files/client/mysqlclient.dsp b/VC++Files/client/mysqlclient.dsp
index 376febc6d36..5e3fbcd060e 100644
--- a/VC++Files/client/mysqlclient.dsp
+++ b/VC++Files/client/mysqlclient.dsp
@@ -65,8 +65,7 @@ LIB32=link.exe -lib
 # PROP Intermediate_Dir "debug"
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /G6 /MTd /W3 /ZI /Od /I "../include" /I "../" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "USE_TLS" /FD /c
-# SUBTRACT CPP /YX
+# ADD CPP /nologo /G6 /MTd /W3 /Zi /Od /I "../include" /I "../" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "USE_TLS" /FD /c
 # ADD BASE RSC /l 0x409
 # ADD RSC /l 0x409
 BSC32=bscmake.exe
@@ -172,18 +171,6 @@ SOURCE=..\libmysql\get_password.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\mysys\getopt.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\mysys\getopt1.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\mysys\getvar.c
-# End Source File
-# Begin Source File
-
 SOURCE=..\strings\int2str.c
 # End Source File
 # Begin Source File
@@ -232,6 +219,19 @@ SOURCE=..\mysys\mf_iocache.c
 # End Source File
 # Begin Source File
 
+SOURCE=..\mysys\mf_iocache2.c
+
+!IF  "$(CFG)" == "mysqlclient - Win32 Release"
+
+!ELSEIF  "$(CFG)" == "mysqlclient - Win32 Debug"
+
+# ADD CPP /Od
+
+!ENDIF 
+
+# End Source File
+# Begin Source File
+
 SOURCE=..\mysys\mf_loadpath.c
 # End Source File
 # Begin Source File
@@ -292,6 +292,14 @@ SOURCE=..\mysys\my_fstream.c
 # End Source File
 # Begin Source File
 
+SOURCE=..\mysys\my_gethostbyname.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\mysys\my_getopt.c
+# End Source File
+# Begin Source File
+
 SOURCE=..\mysys\my_getwd.c
 # End Source File
 # Begin Source File
@@ -368,6 +376,10 @@ SOURCE=..\mysys\my_thr_init.c
 # End Source File
 # Begin Source File
 
+SOURCE=..\mysys\my_vsnprintf.c
+# End Source File
+# Begin Source File
+
 SOURCE=..\mysys\my_wincond.c
 # End Source File
 # Begin Source File
@@ -468,6 +480,10 @@ SOURCE=..\strings\strxmov.c
 # End Source File
 # Begin Source File
 
+SOURCE=..\strings\strxnmov.c
+# End Source File
+# Begin Source File
+
 SOURCE=..\mysys\thr_mutex.c
 # End Source File
 # Begin Source File
diff --git a/VC++Files/client/mysqldump.dsp b/VC++Files/client/mysqldump.dsp
index dcf1c1435a6..448ba126153 100644
--- a/VC++Files/client/mysqldump.dsp
+++ b/VC++Files/client/mysqldump.dsp
@@ -42,7 +42,7 @@ RSC=rc.exe
 # PROP Ignore_Export_Lib 0
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /G6 /MT /W3 /GX- /O2 /I "../include" /I "../" /D "NDEBUG" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /FD /c
+# ADD CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../" /D "NDEBUG" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /FD /c
 # SUBTRACT CPP /YX
 # ADD BASE RSC /l 0x409 /d "NDEBUG"
 # ADD RSC /l 0x409 /d "NDEBUG"
@@ -67,8 +67,7 @@ LINK32=link.exe
 # PROP Ignore_Export_Lib 0
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /G6 /MTd /W3 /Gm /GX- /ZI /Od /I "../include" /I "../" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /FD /c
-# SUBTRACT CPP /YX
+# ADD CPP /nologo /G6 /MTd /W3 /Gm /Zi /Od /I "../include" /I "../" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /FD /c
 # ADD BASE RSC /l 0x409 /d "_DEBUG"
 # ADD RSC /l 0x409 /d "_DEBUG"
 BSC32=bscmake.exe
diff --git a/VC++Files/client/mysqlimport.dsp b/VC++Files/client/mysqlimport.dsp
index f10c1f90f58..5de3b68dd4e 100644
--- a/VC++Files/client/mysqlimport.dsp
+++ b/VC++Files/client/mysqlimport.dsp
@@ -42,7 +42,7 @@ RSC=rc.exe
 # PROP Ignore_Export_Lib 0
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /G6 /MT /W3 /GX- /O2 /I "../include" /I "../" /D "NDEBUG" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /FD /c
+# ADD CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../" /D "NDEBUG" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /FD /c
 # SUBTRACT CPP /YX
 # ADD BASE RSC /l 0x409 /d "NDEBUG"
 # ADD RSC /l 0x409 /d "NDEBUG"
@@ -68,8 +68,7 @@ LINK32=link.exe
 # PROP Ignore_Export_Lib 0
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /G6 /MTd /W3 /Gm /GX- /ZI /Od /I "../include" /I "../" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /FD /c
-# SUBTRACT CPP /YX
+# ADD CPP /nologo /G6 /MTd /W3 /Gm /Zi /Od /I "../include" /I "../" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /FD /c
 # ADD BASE RSC /l 0x409 /d "_DEBUG"
 # ADD RSC /l 0x409 /d "_DEBUG"
 BSC32=bscmake.exe
diff --git a/VC++Files/client/mysqlshow.dsp b/VC++Files/client/mysqlshow.dsp
index dd0fc09c70f..329f128d1b6 100644
--- a/VC++Files/client/mysqlshow.dsp
+++ b/VC++Files/client/mysqlshow.dsp
@@ -42,7 +42,7 @@ RSC=rc.exe
 # PROP Ignore_Export_Lib 0
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /G6 /MT /W3 /GX- /O2 /I "../include" /I "../" /D "NDEBUG" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /FD /c
+# ADD CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../" /D "NDEBUG" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /FD /c
 # SUBTRACT CPP /YX
 # ADD BASE RSC /l 0x409 /d "NDEBUG"
 # ADD RSC /l 0x409 /d "NDEBUG"
@@ -67,8 +67,7 @@ LINK32=link.exe
 # PROP Ignore_Export_Lib 0
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /G6 /MTd /W3 /Gm /GX- /ZI /Od /I "../include" /I "../" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /FD /c
-# SUBTRACT CPP /YX
+# ADD CPP /nologo /G6 /MTd /W3 /Gm /Zi /Od /I "../include" /I "../" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /FD /c
 # ADD BASE RSC /l 0x409 /d "_DEBUG"
 # ADD RSC /l 0x409 /d "_DEBUG"
 BSC32=bscmake.exe
diff --git a/VC++Files/innobase/innobase.dsp b/VC++Files/innobase/innobase.dsp
index 5159d513e87..c3084bfa799 100644
--- a/VC++Files/innobase/innobase.dsp
+++ b/VC++Files/innobase/innobase.dsp
@@ -20,6 +20,7 @@ CFG=innobase - Win32 Max
 !MESSAGE "innobase - Win32 Max" (based on "Win32 (x86) Static Library")
 !MESSAGE "innobase - Win32 Max nt" (based on "Win32 (x86) Static Library")
 !MESSAGE "innobase - Win32 Debug" (based on "Win32 (x86) Static Library")
+!MESSAGE "innobase - Win32 Release" (based on "Win32 (x86) Static Library")
 !MESSAGE 
 
 # Begin Project
@@ -98,6 +99,29 @@ LIB32=link.exe -lib
 # ADD BASE LIB32 /nologo /out:"..\lib_release\innobase-nt.lib"
 # ADD LIB32 /nologo /out:"..\lib_debug\innodb.lib"
 
+!ELSEIF  "$(CFG)" == "innobase - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "innobase___Win32_Release"
+# PROP BASE Intermediate_Dir "innobase___Win32_Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "innobase___Win32_Release"
+# PROP Intermediate_Dir "innobase___Win32_Release"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /G6 /MT /W3 /GX /O2 /I "../innobase/include" /I "../include" /D "NDEBUG" /D "_LIB" /D "_WIN32" /D "WIN32" /D "_MBCS" /D "MYSQL_SERVER" /YX /FD /c
+# ADD CPP /nologo /G6 /MT /W3 /GX /O2 /I "../innobase/include" /I "../include" /D "NDEBUG" /D "_LIB" /D "_WIN32" /D "WIN32" /D "_MBCS" /D "MYSQL_SERVER" /YX /FD /c
+# ADD BASE RSC /l 0x416 /d "NDEBUG"
+# ADD RSC /l 0x416 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo /out:"..\lib_release\innodb.lib"
+# ADD LIB32 /nologo /out:"..\lib_release\innodb.lib"
+
 !ENDIF 
 
 # Begin Target
@@ -105,6 +129,7 @@ LIB32=link.exe -lib
 # Name "innobase - Win32 Max"
 # Name "innobase - Win32 Max nt"
 # Name "innobase - Win32 Debug"
+# Name "innobase - Win32 Release"
 # Begin Source File
 
 SOURCE=.\btr\btr0btr.c
diff --git a/VC++Files/libmysql/libmySQL.dsp b/VC++Files/libmysql/libmySQL.dsp
index 9ea68943a97..14587260d60 100644
--- a/VC++Files/libmysql/libmySQL.dsp
+++ b/VC++Files/libmysql/libmySQL.dsp
@@ -43,7 +43,7 @@ RSC=rc.exe
 # PROP Ignore_Export_Lib 0
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /G6 /MT /W3 /O2 /I "." /I "..\include" /D "NDEBUG" /D "DBUG_OFF" /D "_WINDOWS" /D "USE_TLS" /FD /c
+# ADD CPP /nologo /G6 /MT /W3 /O2 /I "." /I "..\include" /D "NDEBUG" /D "DBUG_OFF" /D "_WINDOWS" /D "USE_TLS" /D "USE_OLD_FUNCTIONS" /FD /c
 # SUBTRACT CPP /YX
 # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
@@ -76,8 +76,7 @@ PostBuild_Cmds=copy release\libmysql.lib ..\lib_release
 # PROP Ignore_Export_Lib 0
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /G6 /MTd /W3 /Gm /ZI /Od /I "." /I "..\include" /D "_DEBUG" /D "_WINDOWS" /D "SAFE_MUTEX" /D "USE_TLS" /FD /c
-# SUBTRACT CPP /YX
+# ADD CPP /nologo /G6 /MTd /W3 /Gm /Zi /Od /I "." /I "..\include" /D "_DEBUG" /D "_WINDOWS" /D "SAFE_MUTEX" /D "USE_TLS" /D "USE_OLD_FUNCTIONS" /FD /c
 # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
 # ADD BASE RSC /l 0x409 /d "_DEBUG"
@@ -92,7 +91,7 @@ LINK32=link.exe
 # Begin Special Build Tool
 SOURCE="$(InputPath)"
 PostBuild_Desc=Move DLL export lib
-PostBuild_Cmds=copy ..\lib_debug\libmysql.dll C:\winnt\system32	copy     debug\libmysql.lib ..\lib_debug
+PostBuild_Cmds=copy     debug\libmysql.lib ..\lib_debug
 # End Special Build Tool
 
 !ENDIF 
@@ -283,6 +282,10 @@ SOURCE=..\mysys\my_fstream.c
 # End Source File
 # Begin Source File
 
+SOURCE=..\mysys\my_gethostbyname.c
+# End Source File
+# Begin Source File
+
 SOURCE=..\mysys\my_getwd.c
 # End Source File
 # Begin Source File
@@ -351,6 +354,10 @@ SOURCE=..\mysys\my_thr_init.c
 # End Source File
 # Begin Source File
 
+SOURCE=..\mysys\my_vsnprintf.c
+# End Source File
+# Begin Source File
+
 SOURCE=..\mysys\my_wincond.c
 # End Source File
 # Begin Source File
@@ -439,6 +446,10 @@ SOURCE=..\strings\strxmov.c
 # End Source File
 # Begin Source File
 
+SOURCE=..\strings\strxnmov.c
+# End Source File
+# Begin Source File
+
 SOURCE=..\mysys\thr_mutex.c
 # End Source File
 # Begin Source File
diff --git a/VC++Files/libmysqld/examples/test_libmysqld.dsp b/VC++Files/libmysqld/examples/test_libmysqld.dsp
new file mode 100644
index 00000000000..35d9689266d
--- /dev/null
+++ b/VC++Files/libmysqld/examples/test_libmysqld.dsp
@@ -0,0 +1,66 @@
+# Microsoft Developer Studio Project File - Name="test_libmysqld" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=test_libmysqld - Win32 Release
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE 
+!MESSAGE NMAKE /f "test_libmysqld.mak".
+!MESSAGE 
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE 
+!MESSAGE NMAKE /f "test_libmysqld.mak" CFG="test_libmysqld - Win32 Release"
+!MESSAGE 
+!MESSAGE Possible choices for configuration are:
+!MESSAGE 
+!MESSAGE "test_libmysqld - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE 
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MT /W3 /GX /O2 /I "..\..\include" /I "../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "DBUG_OFF" /FR /YX /FD /c
+# ADD BASE RSC /l 0x416 /d "NDEBUG"
+# ADD RSC /l 0x416 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib /nologo /subsystem:console /machine:I386 /nodefaultlib:"LIBCMTD" /out:"Release/mysql-server.exe"
+# Begin Target
+
+# Name "test_libmysqld - Win32 Release"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=..\..\client\mysql.cpp
+# End Source File
+# End Group
+# Begin Source File
+
+SOURCE=..\..\lib_release\libmysqld.lib
+# End Source File
+# End Target
+# End Project
diff --git a/VC++Files/libmysqld/libmysqld.dsp b/VC++Files/libmysqld/libmysqld.dsp
new file mode 100644
index 00000000000..34574dd4f2f
--- /dev/null
+++ b/VC++Files/libmysqld/libmysqld.dsp
@@ -0,0 +1,405 @@
+# Microsoft Developer Studio Project File - Name="libmysqld" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=libmysqld - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE 
+!MESSAGE NMAKE /f "libmysqld.mak".
+!MESSAGE 
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE 
+!MESSAGE NMAKE /f "libmysqld.mak" CFG="libmysqld - Win32 Debug"
+!MESSAGE 
+!MESSAGE Possible choices for configuration are:
+!MESSAGE 
+!MESSAGE "libmysqld - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "libmysqld - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE 
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF  "$(CFG)" == "libmysqld - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBMYSQLD_EXPORTS" /YX /FD /c
+# ADD CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../regex" /I "../sql" /I "../bdb/build_win32" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "HAVE_BERKELEY_DB" /D "USE_SYMDIR" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /D "EMBEDDED_LIBRARY" /D "HAVE_INNOBASE_DB" /D "DBUG_OFF" /D "USE_TLS" /FR /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x416 /d "NDEBUG"
+# ADD RSC /l 0x416 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\vio.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\innodb.lib ..\lib_release\bdb.lib ..\lib_release\zlib.lib /nologo /dll /machine:I386 /out:"../lib_release/libmysqld.dll" /implib:"../lib_release/libmysqld.lib"
+# SUBTRACT LINK32 /pdb:none
+
+!ELSEIF  "$(CFG)" == "libmysqld - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "libmysqld___Win32_Debug"
+# PROP BASE Intermediate_Dir "libmysqld___Win32_Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "debug"
+# PROP Intermediate_Dir "debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBMYSQLD_EXPORTS" /YX /FD /GZ /c
+# ADD CPP /nologo /MT /W3 /Gm /Zi /Od /I "../include" /I "../sql" /I "../regex" /I "../bdb/build_win32" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "HAVE_BERKELEY_DB" /D "USE_SYMDIR" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /D "EMBEDDED_LIBRARY" /D "HAVE_INNOBASE_DB" /D "USE_TLS" /FD /GZ /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x416 /d "_DEBUG"
+# ADD RSC /l 0x416 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_debug\dbug.lib ..\lib_debug\mysys.lib ..\lib_debug\strings.lib ..\lib_debug\merge.lib ..\lib_debug\regex.lib ..\lib_debug\heap.lib ..\lib_debug\bdb.lib ..\lib_debug\innodb.lib ..\lib_debug\vio.lib /nologo /dll /debug /machine:I386 /nodefaultlib:"LIBCMTD" /out:"../lib_debug/libmysqld.dll" /implib:"../lib_debug/libmysqld.lib" /pdbtype:sept
+# SUBTRACT LINK32 /pdb:none
+
+!ENDIF 
+
+# Begin Target
+
+# Name "libmysqld - Win32 Release"
+# Name "libmysqld - Win32 Debug"
+# Begin Source File
+
+SOURCE=..\sql\convert.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\derror.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\libmysql\errmsg.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\field.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\field_conv.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\filesort.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\libmysql\get_password.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\ha_berkeley.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\ha_heap.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\ha_innodb.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\ha_isammrg.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\ha_myisam.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\ha_myisammrg.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\handler.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\hash_filo.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\hostname.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\init.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\item.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\item_buff.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\item_cmpfunc.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\item_create.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\item_func.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\item_strfunc.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\item_sum.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\item_timefunc.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\item_uniq.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\key.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\lib_load.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\lib_sql.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\libmysqld.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\libmysqld.def
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\lock.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\log.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\log_event.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\mf_iocache.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\mini_client.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\net_pkg.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\net_serv.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\opt_ft.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\opt_range.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\opt_sum.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\libmysql\password.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\procedure.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\records.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\repl_failsafe.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\slave.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_acl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_analyse.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_base.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_cache.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_class.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_crypt.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_db.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_delete.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_do.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_handler.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_insert.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_lex.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_list.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_manager.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_map.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_parse.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_rename.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_repl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_select.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_show.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_string.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_table.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_test.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_udf.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_union.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_update.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_yacc.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\table.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\thr_malloc.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\time.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\uniques.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\unireg.cpp
+# End Source File
+# End Target
+# End Project
diff --git a/VC++Files/libmysqltest/myTest.dsp b/VC++Files/libmysqltest/myTest.dsp
index fec250e7a40..74f7b8ae48e 100644
--- a/VC++Files/libmysqltest/myTest.dsp
+++ b/VC++Files/libmysqltest/myTest.dsp
@@ -67,8 +67,7 @@ LINK32=link.exe
 # PROP Ignore_Export_Lib 0
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /G6 /MTd /W3 /Gm /ZI /Od /I "..\include" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /Fr /YX
+# ADD CPP /nologo /G6 /MTd /W3 /Gm /Zi /Od /I "..\include" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
 # ADD BASE RSC /l 0x409 /d "_DEBUG"
 # ADD RSC /l 0x409 /d "_DEBUG"
 BSC32=bscmake.exe
diff --git a/VC++Files/libmysqltest/mytest.c b/VC++Files/libmysqltest/mytest.c
new file mode 100644
index 00000000000..9c6818ecf6c
--- /dev/null
+++ b/VC++Files/libmysqltest/mytest.c
@@ -0,0 +1,170 @@
+/*C4*/
+/****************************************************************/
+/*	Author:	Jethro Wright, III	TS :  3/ 4/1998  9:15	*/
+/*	Date:	02/18/1998					*/
+/*	mytest.c :  do some testing of the libmySQL.DLL....	*/
+/*								*/
+/*	History:						*/
+/*		02/18/1998  jw3  also sprach zarathustra....	*/
+/****************************************************************/
+
+
+#include        <windows.h>
+#include	<stdio.h>
+#include	<string.h>
+
+#include	<mysql.h>
+
+#define		DEFALT_SQL_STMT	"SELECT * FROM db"
+#ifndef offsetof
+#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
+#endif
+
+
+/********************************************************
+**
+**		main  :-
+**
+********************************************************/
+
+int
+main( int argc, char * argv[] )
+{
+
+  char		szSQL[ 200 ], aszFlds[ 25 ][ 25 ], szDB[ 50 ] ;
+  const char  *pszT;
+  int			i, j, k, l, x ;
+  MYSQL		* myData ;
+  MYSQL_RES	* res ;
+  MYSQL_FIELD	* fd ;
+  MYSQL_ROW	row ;
+
+  //....just curious....
+  printf( "sizeof( MYSQL ) == %d\n", sizeof( MYSQL ) ) ;
+  if ( argc == 2 )
+    {
+      strcpy( szDB, argv[ 1 ] ) ;
+      strcpy( szSQL, DEFALT_SQL_STMT ) ;
+      if (!strcmp(szDB,"--debug"))
+      {
+	strcpy( szDB, "mysql" ) ;
+	printf("Some mysql struct information (size and offset):\n");
+	printf("net:\t%3d %3d\n",sizeof(myData->net),offsetof(MYSQL,net));
+	printf("host:\t%3d %3d\n",sizeof(myData->host),offsetof(MYSQL,host));
+	printf("port:\t%3d %3d\n",sizeof(myData->port),offsetof(MYSQL,port));
+	printf("protocol_version:\t%3d %3d\n",sizeof(myData->protocol_version),
+	       offsetof(MYSQL,protocol_version));
+	printf("thread_id:\t%3d %3d\n",sizeof(myData->thread_id),
+	       offsetof(MYSQL,thread_id));
+	printf("affected_rows:\t%3d %3d\n",sizeof(myData->affected_rows),
+	       offsetof(MYSQL,affected_rows));
+	printf("packet_length:\t%3d %3d\n",sizeof(myData->packet_length),
+	       offsetof(MYSQL,packet_length));
+	printf("status:\t%3d %3d\n",sizeof(myData->status),
+	       offsetof(MYSQL,status));
+	printf("fields:\t%3d %3d\n",sizeof(myData->fields),
+	       offsetof(MYSQL,fields));
+	printf("field_alloc:\t%3d %3d\n",sizeof(myData->field_alloc),
+	       offsetof(MYSQL,field_alloc));
+	printf("free_me:\t%3d %3d\n",sizeof(myData->free_me),
+	       offsetof(MYSQL,free_me));
+	printf("options:\t%3d %3d\n",sizeof(myData->options),
+	       offsetof(MYSQL,options));
+	puts("");
+      }
+    }		
+  else if ( argc > 2 ) {
+    strcpy( szDB, argv[ 1 ] ) ;
+    strcpy( szSQL, argv[ 2 ] ) ;
+  }
+  else {
+    strcpy( szDB, "mysql" ) ;
+    strcpy( szSQL, DEFALT_SQL_STMT ) ;
+  }
+  //....
+		  
+  if ( (myData = mysql_init((MYSQL*) 0)) && 
+       mysql_real_connect( myData, NULL, NULL, NULL, NULL, MYSQL_PORT,
+			   NULL, 0 ) )
+    {
+      if ( mysql_select_db( myData, szDB ) < 0 ) {
+	printf( "Can't select the %s database !\n", szDB ) ;
+	mysql_close( myData ) ;
+	return 2 ;
+      }
+    }
+  else {
+    printf( "Can't connect to the mysql server on port %d !\n",
+	    MYSQL_PORT ) ;
+    mysql_close( myData ) ;
+    return 1 ;
+  }
+  //....
+  if ( ! mysql_query( myData, szSQL ) ) {
+    res = mysql_store_result( myData ) ;
+    i = (int) mysql_num_rows( res ) ; l = 1 ;
+    printf( "Query:  %s\nNumber of records found:  %ld\n", szSQL, i ) ;
+    //....we can get the field-specific characteristics here....
+    for ( x = 0 ; fd = mysql_fetch_field( res ) ; x++ )
+      strcpy( aszFlds[ x ], fd->name ) ;
+    //....
+    while ( row = mysql_fetch_row( res ) ) {
+      j = mysql_num_fields( res ) ;
+      printf( "Record #%ld:-\n", l++ ) ;
+      for ( k = 0 ; k < j ; k++ )
+	printf( "  Fld #%d (%s): %s\n", k + 1, aszFlds[ k ],
+		(((row[k]==NULL)||(!strlen(row[k])))?"NULL":row[k])) ;
+      puts( "==============================\n" ) ;
+    }
+    mysql_free_result( res ) ;
+  }
+  else printf( "Couldn't execute %s on the server !\n", szSQL ) ;
+  //....
+  puts( "====  Diagnostic info  ====" ) ;
+  pszT = mysql_get_client_info() ;
+  printf( "Client info: %s\n", pszT ) ;
+  //....
+  pszT = mysql_get_host_info( myData ) ;
+  printf( "Host info: %s\n", pszT ) ;
+  //....
+  pszT = mysql_get_server_info( myData ) ;
+  printf( "Server info: %s\n", pszT ) ;
+  //....
+  res = mysql_list_processes( myData ) ; l = 1 ;
+  if (res)
+    {
+      for ( x = 0 ; fd = mysql_fetch_field( res ) ; x++ )
+	strcpy( aszFlds[ x ], fd->name ) ;
+      while ( row = mysql_fetch_row( res ) ) {
+	j = mysql_num_fields( res ) ;
+	printf( "Process #%ld:-\n", l++ ) ;
+	for ( k = 0 ; k < j ; k++ )
+	  printf( "  Fld #%d (%s): %s\n", k + 1, aszFlds[ k ],
+		  (((row[k]==NULL)||(!strlen(row[k])))?"NULL":row[k])) ;
+	puts( "==============================\n" ) ;
+      }
+    }
+  else
+    {
+      printf("Got error %s when retreiving processlist\n",mysql_error(myData));
+    }
+  //....
+  res = mysql_list_tables( myData, "%" ) ; l = 1 ;
+  for ( x = 0 ; fd = mysql_fetch_field( res ) ; x++ )
+    strcpy( aszFlds[ x ], fd->name ) ;
+  while ( row = mysql_fetch_row( res ) ) {
+    j = mysql_num_fields( res ) ;
+    printf( "Table #%ld:-\n", l++ ) ;
+    for ( k = 0 ; k < j ; k++ )
+      printf( "  Fld #%d (%s): %s\n", k + 1, aszFlds[ k ],
+	      (((row[k]==NULL)||(!strlen(row[k])))?"NULL":row[k])) ;
+    puts( "==============================\n" ) ;
+  }
+  //....
+  pszT = mysql_stat( myData ) ;
+  puts( pszT ) ;
+  //....
+  mysql_close( myData ) ;
+  return 0 ;
+
+}
diff --git a/VC++Files/merge/merge.dsp b/VC++Files/merge/merge.dsp
index cb6042e6b68..70c0ce87d6b 100644
--- a/VC++Files/merge/merge.dsp
+++ b/VC++Files/merge/merge.dsp
@@ -92,10 +92,6 @@ SOURCE=.\mrg_create.c
 # End Source File
 # Begin Source File
 
-SOURCE=.\mrg_def.h
-# End Source File
-# Begin Source File
-
 SOURCE=.\mrg_delete.c
 # End Source File
 # Begin Source File
@@ -134,9 +130,5 @@ SOURCE=.\mrg_static.c
 
 SOURCE=.\mrg_update.c
 # End Source File
-# Begin Source File
-
-SOURCE=.\mrgdef.h
-# End Source File
 # End Target
 # End Project
diff --git a/VC++Files/myisam/myisam.dsp b/VC++Files/myisam/myisam.dsp
index 5c13f5eb206..8346cddbc54 100644
--- a/VC++Files/myisam/myisam.dsp
+++ b/VC++Files/myisam/myisam.dsp
@@ -89,10 +89,6 @@ SOURCE=.\ft_boolean_search.c
 # End Source File
 # Begin Source File
 
-SOURCE=.\ft_eval.c
-# End Source File
-# Begin Source File
-
 SOURCE=.\ft_nlq_search.c
 # End Source File
 # Begin Source File
@@ -101,10 +97,6 @@ SOURCE=.\ft_parser.c
 # End Source File
 # Begin Source File
 
-SOURCE=.\ft_search.c
-# End Source File
-# Begin Source File
-
 SOURCE=.\ft_static.c
 # End Source File
 # Begin Source File
diff --git a/VC++Files/mysql.dsw b/VC++Files/mysql.dsw
index 7713b28d978..6a7ec7a57dd 100644
--- a/VC++Files/mysql.dsw
+++ b/VC++Files/mysql.dsw
@@ -117,6 +117,54 @@ Package=<4>
 
 ###############################################################################
 
+Project: "libmysqld"=".\libmysqld\libmysqld.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+    Begin Project Dependency
+    Project_Dep_Name bdb
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name dbug
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name heap
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name innobase
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name myisam
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name myisammrg
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name mysys
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name regex
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name strings
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name vio
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name zlib
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name merge
+    End Project Dependency
+}}}
+
+###############################################################################
+
 Project: "merge"=".\merge\merge.dsp" - Package Owner=<4>
 
 Package=<5>
@@ -396,6 +444,18 @@ Package=<4>
 
 ###############################################################################
 
+Project: "mysqldemb"=".\mysqldemb\mysqldemb.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
 Project: "mysqldump"=".\client\mysqldump.dsp" - Package Owner=<4>
 
 Package=<5>
@@ -426,6 +486,54 @@ Package=<4>
 
 ###############################################################################
 
+Project: "mysqlserver"=".\mysqlserver\mysqlserver.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+    Begin Project Dependency
+    Project_Dep_Name zlib
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name bdb
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name dbug
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name heap
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name innobase
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name merge
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name myisam
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name myisammrg
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name mysqldemb
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name mysys
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name regex
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name strings
+    End Project Dependency
+}}}
+
+###############################################################################
+
 Project: "mysqlshow"=".\client\mysqlshow.dsp" - Package Owner=<4>
 
 Package=<5>
@@ -582,6 +690,24 @@ Package=<4>
 
 ###############################################################################
 
+Project: "test_libmysqld"=".\libmysqld\examples\test_libmysqld.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+    Begin Project Dependency
+    Project_Dep_Name libmysqld
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name mysqlclient
+    End Project Dependency
+}}}
+
+###############################################################################
+
 Project: "thr_insert_test"=".\thr_insert_test\thr_insert_test.dsp" - Package Owner=<4>
 
 Package=<5>
diff --git a/VC++Files/mysqlbinlog/mysqlbinlog.dsp b/VC++Files/mysqlbinlog/mysqlbinlog.dsp
index 4145585abc5..a62253b2a2c 100644
--- a/VC++Files/mysqlbinlog/mysqlbinlog.dsp
+++ b/VC++Files/mysqlbinlog/mysqlbinlog.dsp
@@ -67,7 +67,7 @@ LINK32=link.exe
 # PROP Ignore_Export_Lib 0
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /G6 /MTd /W3 /Gm /ZI /Od /I "../include" /I "../" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "MYSQL_SERVER" /FD /c
+# ADD CPP /nologo /G6 /MTd /W3 /Gm /Zi /Od /I "../include" /I "../" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "MYSQL_SERVER" /FD /c
 # ADD BASE RSC /l 0x409 /d "_DEBUG"
 # ADD RSC /l 0x409 /d "_DEBUG"
 BSC32=bscmake.exe
diff --git a/VC++Files/mysqlcheck/mysqlcheck.dsp b/VC++Files/mysqlcheck/mysqlcheck.dsp
index 49c3fc2b702..d4b4f5652b7 100644
--- a/VC++Files/mysqlcheck/mysqlcheck.dsp
+++ b/VC++Files/mysqlcheck/mysqlcheck.dsp
@@ -49,7 +49,7 @@ BSC32=bscmake.exe
 # ADD BASE BSC32 /nologo
 # ADD BSC32 /nologo
 LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib  kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
 # ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /out:"../client_release/mysqlcheck.exe" /libpath:"..\lib_release\\"
 
 !ELSEIF  "$(CFG)" == "mysqlcheck - Win32 Debug"
@@ -65,15 +65,15 @@ LINK32=link.exe
 # PROP Intermediate_Dir "Debug"
 # PROP Ignore_Export_Lib 0
 # PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ  /c
-# ADD CPP /nologo /G6 /MTd /W3 /Gm /ZI /Od /I "../include" /I "../" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "MYSQL_SERVER" /FD /c
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /G6 /MTd /W3 /Gm /Zi /Od /I "../include" /I "../" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "MYSQL_SERVER" /FD /c
 # ADD BASE RSC /l 0x409 /d "_DEBUG"
 # ADD RSC /l 0x409 /d "_DEBUG"
 BSC32=bscmake.exe
 # ADD BASE BSC32 /nologo
 # ADD BSC32 /nologo
 LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib  kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
 # ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"../client_debug/mysqlcheck.exe" /pdbtype:sept /libpath:"..\lib_debug\\"
 
 !ENDIF 
diff --git a/VC++Files/mysqldemb/mysqldemb.dsp b/VC++Files/mysqldemb/mysqldemb.dsp
new file mode 100644
index 00000000000..a637c486574
--- /dev/null
+++ b/VC++Files/mysqldemb/mysqldemb.dsp
@@ -0,0 +1,392 @@
+# Microsoft Developer Studio Project File - Name="mysqldemb" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Static Library" 0x0104
+
+CFG=mysqldemb - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE 
+!MESSAGE NMAKE /f "mysqldemb.mak".
+!MESSAGE 
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE 
+!MESSAGE NMAKE /f "mysqldemb.mak" CFG="mysqldemb - Win32 Debug"
+!MESSAGE 
+!MESSAGE Possible choices for configuration are:
+!MESSAGE 
+!MESSAGE "mysqldemb - Win32 Release" (based on "Win32 (x86) Static Library")
+!MESSAGE "mysqldemb - Win32 Debug" (based on "Win32 (x86) Static Library")
+!MESSAGE 
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF  "$(CFG)" == "mysqldemb - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
+# ADD CPP /nologo /MT /W3 /O2 /I "../include" /I "../regex" /I "../sql" /I "../bdb/build_win32" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D "HAVE_BERKELEY_DB" /D "USE_SYMDIR" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /D "EMBEDDED_LIBRARY" /D "MYSQL_SERVER" /D "HAVE_INNOBASE_DB" /D "DBUG_OFF" /D "USE_TLS" /YX /FD /c
+# ADD BASE RSC /l 0x416 /d "NDEBUG"
+# ADD RSC /l 0x416 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo
+# ADD LIB32 /nologo
+
+!ELSEIF  "$(CFG)" == "mysqldemb - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
+# ADD CPP /nologo /MTd /W3 /Gm /Zi /Od /I "../include" /I "../regex" /I "../sql" /I "../bdb/build_win32" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D "HAVE_BERKELEY_DB" /D "USE_SYMDIR" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /D "EMBEDDED_LIBRARY" /D "MYSQL_SERVER" /D "HAVE_INNOBASE_DB" /D "USE_TLS" /YX /FD /GZ /c
+# ADD BASE RSC /l 0x416 /d "_DEBUG"
+# ADD RSC /l 0x416 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo
+# ADD LIB32 /nologo
+
+!ENDIF 
+
+# Begin Target
+
+# Name "mysqldemb - Win32 Release"
+# Name "mysqldemb - Win32 Debug"
+# Begin Source File
+
+SOURCE=..\sql\convert.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\derror.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\libmysql\errmsg.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\field.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\field_conv.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\filesort.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\libmysql\get_password.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\ha_berkeley.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\ha_heap.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\ha_innodb.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\ha_isammrg.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\ha_myisam.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\ha_myisammrg.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\handler.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\hash_filo.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\hostname.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\init.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\item.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\item_buff.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\item_cmpfunc.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\item_create.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\item_func.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\item_strfunc.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\item_sum.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\item_timefunc.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\item_uniq.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\key.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\libmysqld\lib_load.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\libmysqld\lib_sql.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\libmysqld\libmysqld.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\lock.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\log.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\log_event.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\mf_iocache.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\mini_client.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\net_pkg.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\net_serv.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\opt_ft.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\opt_range.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\opt_sum.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\libmysql\password.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\procedure.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\records.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\repl_failsafe.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\slave.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_acl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_analyse.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_base.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_cache.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_class.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_crypt.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_db.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_delete.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_do.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_handler.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_insert.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_lex.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_list.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_manager.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_map.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_parse.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_rename.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_repl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_select.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_show.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_string.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_table.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_test.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_udf.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_union.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_update.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\sql_yacc.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\table.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\thr_malloc.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\time.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\uniques.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\sql\unireg.cpp
+# End Source File
+# End Target
+# End Project
diff --git a/VC++Files/mysqlmanager/MySqlManager.dsp b/VC++Files/mysqlmanager/MySqlManager.dsp
index 60ee700b00c..56e1b4a5bf2 100644
--- a/VC++Files/mysqlmanager/MySqlManager.dsp
+++ b/VC++Files/mysqlmanager/MySqlManager.dsp
@@ -71,8 +71,7 @@ LINK32=link.exe
 # PROP Ignore_Export_Lib 0
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_AFXDLL" /Yu"stdafx.h" /FD /c
-# ADD CPP /nologo /G6 /MTd /W3 /Gm /GX /ZI /Od /I "../include" /D "_DEBUG" /D "_WINDOWS" /FD /c
-# SUBTRACT CPP /Fr /YX /Yc /Yu
+# ADD CPP /nologo /G6 /MTd /W3 /Gm /GX /Zi /Od /I "../include" /D "_DEBUG" /D "_WINDOWS" /FD /c
 # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
 # ADD MTL /nologo /D "_DEBUG" /o "NUL" /win32
 # SUBTRACT MTL /mktyplib203
diff --git a/VC++Files/mysqlserver/mysqlserver.dsp b/VC++Files/mysqlserver/mysqlserver.dsp
new file mode 100644
index 00000000000..dda50cd5538
--- /dev/null
+++ b/VC++Files/mysqlserver/mysqlserver.dsp
@@ -0,0 +1,84 @@
+# Microsoft Developer Studio Project File - Name="mysqlserver" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Static Library" 0x0104
+
+CFG=mysqlserver - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE 
+!MESSAGE NMAKE /f "mysqlserver.mak".
+!MESSAGE 
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE 
+!MESSAGE NMAKE /f "mysqlserver.mak" CFG="mysqlserver - Win32 Debug"
+!MESSAGE 
+!MESSAGE Possible choices for configuration are:
+!MESSAGE 
+!MESSAGE "mysqlserver - Win32 Release" (based on "Win32 (x86) Static Library")
+!MESSAGE "mysqlserver - Win32 Debug" (based on "Win32 (x86) Static Library")
+!MESSAGE 
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF  "$(CFG)" == "mysqlserver - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
+# ADD CPP /nologo /MT /W3 /O2 /I "../include" /I "../regex" /I "../sql" /I "../bdb/build_win32" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D "HAVE_BERKELEY_DB" /D "USE_SYMDIR" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /D "EMBEDDED_LIBRARY" /D "HAVE_INNOBASE_DB" /D "DBUG_OFF" /D "USE_TLS" /YX /FD /c
+# ADD BASE RSC /l 0x416 /d "NDEBUG"
+# ADD RSC /l 0x416 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo
+# ADD LIB32 /nologo
+
+!ELSEIF  "$(CFG)" == "mysqlserver - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
+# ADD CPP /nologo /MTd /W3 /Gm /Zi /Od /I "../include" /I "../regex" /I "../sql" /I "../bdb/build_win32" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D "HAVE_BERKELEY_DB" /D "USE_SYMDIR" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /D "EMBEDDED_LIBRARY" /D "HAVE_INNOBASE_DB" /D "USE_TLS" /YX /FD /GZ /c
+# ADD BASE RSC /l 0x416 /d "_DEBUG"
+# ADD RSC /l 0x416 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo
+# ADD LIB32 /nologo
+
+!ENDIF 
+
+# Begin Target
+
+# Name "mysqlserver - Win32 Release"
+# Name "mysqlserver - Win32 Debug"
+# End Target
+# End Project
diff --git a/VC++Files/mysqlshutdown/mysqlshutdown.c b/VC++Files/mysqlshutdown/mysqlshutdown.c
new file mode 100644
index 00000000000..e770149604d
--- /dev/null
+++ b/VC++Files/mysqlshutdown/mysqlshutdown.c
@@ -0,0 +1,198 @@
+/****************************************************************************
+   MySqlShutdown - shutdown MySQL on system shutdown (Win95/98)
+ ----------------------------------------------------------------------------
+ Revision History :
+ Version  Author   Date         Description
+ 001.00   Irena    21-12-99
+*****************************************************************************/
+#include <windows.h>
+
+//-----------------------------------------------------------------------
+// Local  data
+//-----------------------------------------------------------------------
+static char szAppName[] = "MySqlShutdown";
+static HINSTANCE hInstance;
+
+#define MYWM_NOTIFYICON		(WM_APP+100)
+
+//-----------------------------------------------------------------------
+// Exported functions
+//-----------------------------------------------------------------------
+LRESULT CALLBACK MainWindowProc (HWND, UINT, WPARAM, LPARAM);
+
+//-----------------------------------------------------------------------
+// Local functions
+//-----------------------------------------------------------------------
+static BOOL InitAppClass (HINSTANCE hInstance);
+
+BOOL TrayMessageAdd(HWND hWnd, DWORD dwMessage)
+{
+    BOOL res;
+    HICON hIcon =LoadIcon (hInstance, "MySql");
+    char *szTip="MySql Shutdown";
+	NOTIFYICONDATA tnd;
+
+	tnd.cbSize		= sizeof(NOTIFYICONDATA);
+	tnd.hWnd		= hWnd;
+	tnd.uID			= 101;
+
+	tnd.uFlags		= NIF_MESSAGE|NIF_ICON|NIF_TIP;
+	tnd.uCallbackMessage	= MYWM_NOTIFYICON;
+	tnd.hIcon		= hIcon;
+    strcpy(tnd.szTip, szTip);
+	res = Shell_NotifyIcon(dwMessage, &tnd);
+
+	if (hIcon) DestroyIcon(hIcon);
+
+	return res;
+}
+
+//-----------------------------------------------------------------------
+//   Name:      WinMain
+//   Purpose: Main application entry point
+//-----------------------------------------------------------------------
+
+int WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow)
+{   HWND  hWnd;
+    MSG   Msg;
+
+    hInstance=hInst;
+    // Register application class if needed
+    if (InitAppClass (hInstance) == FALSE) return (0);
+
+
+    hWnd = CreateWindow (szAppName, "MySql",
+                        WS_OVERLAPPEDWINDOW|WS_MINIMIZE,
+                        0, 0,
+                        GetSystemMetrics(SM_CXSCREEN)/4,
+                        GetSystemMetrics(SM_CYSCREEN)/4,
+                        0, 0, hInstance, NULL);
+
+    if(!hWnd)
+    {
+        return (0);
+    }
+    ShowWindow (hWnd, SW_HIDE);
+    UpdateWindow (hWnd);
+    while (GetMessage (&Msg, 0, 0, 0))
+    {  TranslateMessage (&Msg);
+        DispatchMessage (&Msg);
+    }
+    return ((int) (Msg.wParam));
+}
+
+//-----------------------------------------------------------------------
+//   Name:    InitAppClass
+//   Purpose: Register the main application window class
+//-----------------------------------------------------------------------
+static BOOL InitAppClass (HINSTANCE hInstance)
+{
+    WNDCLASS cls;
+
+    if (GetClassInfo (hInstance, szAppName, &cls) == 0)
+    {
+        cls.style          = CS_HREDRAW | CS_VREDRAW ;;
+        cls.lpfnWndProc    = (WNDPROC) MainWindowProc;
+        cls.cbClsExtra     = 0;
+        cls.cbWndExtra     = sizeof(HWND);
+        cls.hInstance      = hInstance;
+        cls.hIcon          = LoadIcon (hInstance, "MySql");
+        cls.hCursor        = LoadCursor (NULL, IDC_ARROW);
+        cls.hbrBackground  = GetStockObject (WHITE_BRUSH) ;
+        cls.lpszMenuName   = 0; //szAppName;
+        cls.lpszClassName  = szAppName;
+        return RegisterClass (&cls);
+    }
+    return (TRUE);
+}
+//-----------------------------------------------------------------------
+//   Name:      MainWindowProc
+//   Purpose: Window procedure for main application window.
+//-----------------------------------------------------------------------
+LRESULT CALLBACK MainWindowProc (HWND hWnd, UINT Msg,WPARAM wParam, LPARAM lParam)
+{
+ static RECT   rect ;
+ HDC           hdc ;
+ PAINTSTRUCT   ps ;
+ static BOOL   bShutdown=FALSE;
+
+    switch (Msg)
+    {
+          case WM_CREATE:
+               TrayMessageAdd(hWnd, NIM_ADD);
+               return TRUE;
+/***************
+          case WM_SYSCOMMAND:
+               if(wParam==SC_CLOSE)
+               { HANDLE hEventShutdown;
+
+                bShutdown=TRUE;
+                InvalidateRect(hWnd,NULL,TRUE);
+                ShowWindow (hWnd, SW_NORMAL);
+                UpdateWindow(hWnd);
+                hEventShutdown=OpenEvent(EVENT_MODIFY_STATE, 0, "MySqlShutdown");
+                if(hEventShutdown)
+                {
+                  SetEvent(hEventShutdown);
+                  CloseHandle(hEventShutdown);
+                  Sleep(1000);
+                  MessageBox(hWnd,"Shutdown", "MySql", MB_OK);
+                }
+               TrayMessageAdd(hWnd, NIM_DELETE);
+               }
+               break;
+**************/
+          case WM_DESTROY:
+               TrayMessageAdd(hWnd, NIM_DELETE);
+               PostQuitMessage (0);
+               return 0;
+          case WM_SIZE:
+               GetClientRect (hWnd, &rect) ;
+               return 0 ;
+
+          case WM_PAINT:
+               hdc = BeginPaint (hWnd, &ps) ;
+               if(bShutdown)
+                 DrawText (hdc, "MySql shutdown in progress...",
+                                -1, &rect, DT_WORDBREAK) ;
+               EndPaint (hWnd, &ps) ;
+               return 0 ;
+          case WM_QUERYENDSESSION: //Shutdown MySql
+               { HANDLE hEventShutdown;
+
+                bShutdown=TRUE;
+                InvalidateRect(hWnd,NULL,TRUE);
+                ShowWindow (hWnd, SW_NORMAL);
+                UpdateWindow(hWnd);
+                hEventShutdown=OpenEvent(EVENT_MODIFY_STATE, 0, "MySqlShutdown");
+                if(hEventShutdown)
+                {
+                  SetEvent(hEventShutdown);
+                  CloseHandle(hEventShutdown);
+                  Sleep(1000);
+                  MessageBox(hWnd,"Shutdown", "MySql", MB_OK);
+                }
+               }
+               return 1;
+
+	      case MYWM_NOTIFYICON:
+		   switch (lParam)
+		   {
+		     case WM_LBUTTONDOWN:
+		     case WM_RBUTTONDOWN:
+			      ShowWindow(hWnd, SW_SHOWNORMAL);
+			      SetForegroundWindow(hWnd);	// make us come to the front
+			      break;
+		     default:
+			      break;
+		     }
+		     break;
+
+    }
+    return DefWindowProc (hWnd, Msg, wParam, lParam);
+}
+
+
+// ----------------------- The end ------------------------------------------
+
+
diff --git a/VC++Files/mysqlwatch/mysqlwatch.c b/VC++Files/mysqlwatch/mysqlwatch.c
new file mode 100644
index 00000000000..2aba6814869
--- /dev/null
+++ b/VC++Files/mysqlwatch/mysqlwatch.c
@@ -0,0 +1,745 @@
+/****************************************************************************
+   MySqlWatch    - WinNT service program MySQL
+                 - Re-start MySql server in case of failure
+*****************************************************************************/
+#include <windows.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <process.h>
+#include <tchar.h>
+
+
+// name of the executable
+#define SZAPPNAME            "mysqlwatch"
+// internal name of the service
+#define SZSERVICENAME        "MySqlWatch"
+// displayed name of the service
+#define SZSERVICEDISPLAYNAME "MySqlWatch"
+// list of service dependencies - "dep1\0dep2\0\0"
+#define SZDEPENDENCIES       ""
+
+
+
+VOID ServiceStart(DWORD dwArgc, LPTSTR *lpszArgv);
+VOID ServiceStop(void);
+BOOL ReportStatusToSCMgr(DWORD dwCurrentState, DWORD dwWin32ExitCode, DWORD dwWaitHint);
+void AddToMessageLog(LPTSTR lpszMsg);
+
+// internal variables
+SERVICE_STATUS          ssStatus;       // current status of the service
+SERVICE_STATUS_HANDLE   sshStatusHandle;
+DWORD                   dwErr = 0;
+BOOL                    bDebug = FALSE;
+TCHAR                   szErr[256];
+
+// internal function prototypes
+void WINAPI service_ctrl(DWORD dwCtrlCode);
+void WINAPI service_main(DWORD dwArgc, LPTSTR *lpszArgv);
+void CmdInstallService(void);
+void CmdRemoveService(void);
+void CmdDebugService(int argc, char **argv);
+BOOL WINAPI ControlHandler ( DWORD dwCtrlType );
+LPTSTR GetLastErrorText( LPTSTR lpszBuf, DWORD dwSize );
+
+//
+//  FUNCTION: main
+//
+//  PURPOSE: entrypoint for service
+//
+//  PARAMETERS:
+//    argc - number of command line arguments
+//    argv - array of command line arguments
+//
+//  RETURN VALUE:
+//    none
+//
+//  COMMENTS:
+//    main() either performs the command line task, or
+//    call StartServiceCtrlDispatcher to register the
+//    main service thread.  When the this call returns,
+//    the service has stopped, so exit.
+//
+void main(int argc, char **argv)
+{
+    SERVICE_TABLE_ENTRY dispatchTable[] =
+    {
+        { TEXT(SZSERVICENAME), (LPSERVICE_MAIN_FUNCTION)service_main },
+        { NULL, NULL }
+    };
+
+    if ( (argc > 1) &&
+         ((*argv[1] == '-') || (*argv[1] == '/')) )
+    {
+        if ( stricmp( "install", argv[1]+1 ) == 0 )
+        {
+            CmdInstallService();
+        }
+        else if ( stricmp( "remove", argv[1]+1 ) == 0 )
+        {
+            CmdRemoveService();
+        }
+        else if ( stricmp( "debug", argv[1]+1 ) == 0 )
+        {
+            bDebug = TRUE;
+            CmdDebugService(argc, argv);
+        }
+        else
+        {
+            goto dispatch;
+        }
+        exit(0);
+    }
+
+    // if it doesn't match any of the above parameters
+    // the service control manager may be starting the service
+    // so we must call StartServiceCtrlDispatcher
+    dispatch:
+        // this is just to be friendly
+        printf( "%s -install          to install the service\n", SZAPPNAME );
+        printf( "%s -remove           to remove the service\n", SZAPPNAME );
+        printf( "%s -debug <params>   to run as a console app for debugging\n", SZAPPNAME );
+        printf( "\nStartServiceCtrlDispatcher being called.\n" );
+        printf( "This may take several seconds.  Please wait.\n" );
+
+        if (!StartServiceCtrlDispatcher(dispatchTable))
+            AddToMessageLog(TEXT("StartServiceCtrlDispatcher failed."));
+}
+
+
+
+//
+//  FUNCTION: service_main
+//
+//  PURPOSE: To perform actual initialization of the service
+//
+//  PARAMETERS:
+//    dwArgc   - number of command line arguments
+//    lpszArgv - array of command line arguments
+//
+//  RETURN VALUE:
+//    none
+//
+//  COMMENTS:
+//    This routine performs the service initialization and then calls
+//    the user defined ServiceStart() routine to perform majority
+//    of the work.
+//
+void WINAPI service_main(DWORD dwArgc, LPTSTR *lpszArgv)
+{
+
+    // register our service control handler:
+    //
+    sshStatusHandle = RegisterServiceCtrlHandler( TEXT(SZSERVICENAME), service_ctrl);
+
+    if (!sshStatusHandle)
+        goto cleanup;
+
+    // SERVICE_STATUS members that don't change in example
+    //
+    ssStatus.dwServiceType = SERVICE_WIN32_OWN_PROCESS;
+    ssStatus.dwServiceSpecificExitCode = 0;
+
+
+    // report the status to the service control manager.
+    //
+    if (!ReportStatusToSCMgr(
+        SERVICE_START_PENDING, // service state
+        NO_ERROR,              // exit code
+        3000))                 // wait hint
+        goto cleanup;
+
+
+    ServiceStart( dwArgc, lpszArgv );
+
+cleanup:
+
+    // try to report the stopped status to the service control manager.
+    //
+    if (sshStatusHandle)
+        ReportStatusToSCMgr(
+                            SERVICE_STOPPED,
+                            dwErr,
+                            0);
+
+    return;
+}
+
+
+
+//
+//  FUNCTION: service_ctrl
+//
+//  PURPOSE: This function is called by the SCM whenever
+//           ControlService() is called on this service.
+//
+//  PARAMETERS:
+//    dwCtrlCode - type of control requested
+//
+//  RETURN VALUE:
+//    none
+//
+//  COMMENTS:
+//
+void WINAPI service_ctrl(DWORD dwCtrlCode)
+{
+    // Handle the requested control code.
+    //
+    switch(dwCtrlCode)
+    {
+        // Stop the service.
+        //
+        case SERVICE_CONTROL_STOP:
+            ssStatus.dwCurrentState = SERVICE_STOP_PENDING;
+            ServiceStop();
+            break;
+
+        // Update the service status.
+        //
+        case SERVICE_CONTROL_INTERROGATE:
+            break;
+
+        // invalid control code
+        //
+        default:
+            break;
+
+    }
+
+    ReportStatusToSCMgr(ssStatus.dwCurrentState, NO_ERROR, 0);
+
+}
+
+
+
+//
+//  FUNCTION: ReportStatusToSCMgr()
+//
+//  PURPOSE: Sets the current status of the service and
+//           reports it to the Service Control Manager
+//
+//  PARAMETERS:
+//    dwCurrentState - the state of the service
+//    dwWin32ExitCode - error code to report
+//    dwWaitHint - worst case estimate to next checkpoint
+//
+//  RETURN VALUE:
+//    TRUE  - success
+//    FALSE - failure
+//
+//  COMMENTS:
+//
+BOOL ReportStatusToSCMgr(DWORD dwCurrentState,
+                         DWORD dwWin32ExitCode,
+                         DWORD dwWaitHint)
+{
+    static DWORD dwCheckPoint = 1;
+    BOOL fResult = TRUE;
+
+
+    if ( !bDebug ) // when debugging we don't report to the SCM
+    {
+        if (dwCurrentState == SERVICE_START_PENDING)
+            ssStatus.dwControlsAccepted = 0;
+        else
+            ssStatus.dwControlsAccepted = SERVICE_ACCEPT_STOP;
+
+        ssStatus.dwCurrentState = dwCurrentState;
+        ssStatus.dwWin32ExitCode = dwWin32ExitCode;
+        ssStatus.dwWaitHint = dwWaitHint;
+
+        if ( ( dwCurrentState == SERVICE_RUNNING ) ||
+             ( dwCurrentState == SERVICE_STOPPED ) )
+            ssStatus.dwCheckPoint = 0;
+        else
+            ssStatus.dwCheckPoint = dwCheckPoint++;
+
+
+        // Report the status of the service to the service control manager.
+        //
+        if (!(fResult = SetServiceStatus( sshStatusHandle, &ssStatus))) {
+            AddToMessageLog(TEXT("SetServiceStatus"));
+        }
+    }
+    return fResult;
+}
+
+
+
+//
+//  FUNCTION: AddToMessageLog(LPTSTR lpszMsg)
+//
+//  PURPOSE: Allows any thread to log an error message
+//
+//  PARAMETERS:
+//    lpszMsg - text for message
+//
+//  RETURN VALUE:
+//    none
+//
+//  COMMENTS:
+//
+void AddToMessageLog(LPTSTR lpszMsg)
+{
+    TCHAR   szMsg[256];
+    HANDLE  hEventSource;
+    LPTSTR  lpszStrings[2];
+
+
+    if ( !bDebug )
+    {
+        dwErr = GetLastError();
+
+        // Use event logging to log the error.
+        //
+        hEventSource = RegisterEventSource(NULL, TEXT(SZSERVICENAME));
+
+        _stprintf(szMsg, TEXT("%s error: %d"), TEXT(SZSERVICENAME), dwErr);
+        lpszStrings[0] = szMsg;
+        lpszStrings[1] = lpszMsg;
+
+        if (hEventSource != NULL) {
+            ReportEvent(hEventSource, // handle of event source
+                EVENTLOG_ERROR_TYPE,  // event type
+                0,                    // event category
+                0,                    // event ID
+                NULL,                 // current user's SID
+                2,                    // strings in lpszStrings
+                0,                    // no bytes of raw data
+                lpszStrings,          // array of error strings
+                NULL);                // no raw data
+
+             DeregisterEventSource(hEventSource);
+        }
+    }
+}
+
+
+
+
+///////////////////////////////////////////////////////////////////
+//
+//  The following code handles service installation and removal
+//
+
+
+//
+//  FUNCTION: CmdInstallService()
+//
+//  PURPOSE: Installs the service
+//
+//  PARAMETERS:
+//    none
+//
+//  RETURN VALUE:
+//    none
+//
+//  COMMENTS:
+//
+void CmdInstallService()
+{
+    SC_HANDLE   schService;
+    SC_HANDLE   schSCManager;
+
+    TCHAR szPath[512];
+
+    if ( GetModuleFileName( NULL, szPath, 512 ) == 0 )
+    {
+        _tprintf(TEXT("Unable to install %s - %s\n"), TEXT(SZSERVICEDISPLAYNAME), GetLastErrorText(szErr, 256));
+        return;
+    }
+
+    schSCManager = OpenSCManager(
+                        NULL,                   // machine (NULL == local)
+                        NULL,                   // database (NULL == default)
+                        SC_MANAGER_ALL_ACCESS   // access required
+                        );
+    if ( schSCManager )
+    {
+        schService = CreateService(
+            schSCManager,               // SCManager database
+            TEXT(SZSERVICENAME),        // name of service
+            TEXT(SZSERVICEDISPLAYNAME), // name to display
+            SERVICE_ALL_ACCESS,         // desired access
+            SERVICE_WIN32_OWN_PROCESS,  // service type
+            SERVICE_DEMAND_START,       // start type
+            SERVICE_ERROR_NORMAL,       // error control type
+            szPath,                     // service's binary
+            NULL,                       // no load ordering group
+            NULL,                       // no tag identifier
+            TEXT(SZDEPENDENCIES),       // dependencies
+            NULL,                       // LocalSystem account
+            NULL);                      // no password
+
+        if ( schService )
+        {
+            _tprintf(TEXT("%s installed.\n"), TEXT(SZSERVICEDISPLAYNAME) );
+            CloseServiceHandle(schService);
+        }
+        else
+        {
+            _tprintf(TEXT("CreateService failed - %s\n"), GetLastErrorText(szErr, 256));
+        }
+
+        CloseServiceHandle(schSCManager);
+    }
+    else
+        _tprintf(TEXT("OpenSCManager failed - %s\n"), GetLastErrorText(szErr,256));
+}
+
+
+
+//
+//  FUNCTION: CmdRemoveService()
+//
+//  PURPOSE: Stops and removes the service
+//
+//  PARAMETERS:
+//    none
+//
+//  RETURN VALUE:
+//    none
+//
+//  COMMENTS:
+//
+void CmdRemoveService()
+{
+    SC_HANDLE   schService;
+    SC_HANDLE   schSCManager;
+
+    schSCManager = OpenSCManager(
+                        NULL,                   // machine (NULL == local)
+                        NULL,                   // database (NULL == default)
+                        SC_MANAGER_ALL_ACCESS   // access required
+                        );
+    if ( schSCManager )
+    {
+        schService = OpenService(schSCManager, TEXT(SZSERVICENAME), SERVICE_ALL_ACCESS);
+
+        if (schService)
+        {
+            // try to stop the service
+            if ( ControlService( schService, SERVICE_CONTROL_STOP, &ssStatus ) )
+            {
+                _tprintf(TEXT("Stopping %s."), TEXT(SZSERVICEDISPLAYNAME));
+                Sleep( 1000 );
+
+                while( QueryServiceStatus( schService, &ssStatus ) )
+                {
+                    if ( ssStatus.dwCurrentState == SERVICE_STOP_PENDING )
+                    {
+                        _tprintf(TEXT("."));
+                        Sleep( 1000 );
+                    }
+                    else
+                        break;
+                }
+
+                if ( ssStatus.dwCurrentState == SERVICE_STOPPED )
+                    _tprintf(TEXT("\n%s stopped.\n"), TEXT(SZSERVICEDISPLAYNAME) );
+                else
+                    _tprintf(TEXT("\n%s failed to stop.\n"), TEXT(SZSERVICEDISPLAYNAME) );
+
+            }
+
+            // now remove the service
+            if( DeleteService(schService) )
+                _tprintf(TEXT("%s removed.\n"), TEXT(SZSERVICEDISPLAYNAME) );
+            else
+                _tprintf(TEXT("DeleteService failed - %s\n"), GetLastErrorText(szErr,256));
+
+
+            CloseServiceHandle(schService);
+        }
+        else
+            _tprintf(TEXT("OpenService failed - %s\n"), GetLastErrorText(szErr,256));
+
+        CloseServiceHandle(schSCManager);
+    }
+    else
+        _tprintf(TEXT("OpenSCManager failed - %s\n"), GetLastErrorText(szErr,256));
+}
+
+
+
+
+
+//
+//  FUNCTION: CmdRestartService()
+//
+//  PURPOSE: Stops and removes the service
+//
+//  PARAMETERS:
+//    none
+//
+//  RETURN VALUE:
+//    none
+//
+//  COMMENTS:
+//
+void CmdRestartService(char *szServiceName)
+{
+    SC_HANDLE   schService;
+    SC_HANDLE   schSCManager;
+
+    schSCManager = OpenSCManager(
+                        NULL,                   // machine (NULL == local)
+                        NULL,                   // database (NULL == default)
+                        SC_MANAGER_ALL_ACCESS   // access required
+                        );
+    if ( schSCManager )
+    {
+        schService = OpenService(schSCManager, TEXT(szServiceName), SERVICE_ALL_ACCESS);
+        if (schService)
+        {
+            if(! ControlService( schService, SERVICE_CONTROL_INTERROGATE, &ssStatus ) )
+            //if(QueryServiceStatus( schService, &ssStatus )==0)
+            {
+                if(GetLastError()==ERROR_SERVICE_NOT_ACTIVE)
+                {
+
+                   //AddToMessageLog(TEXT("Start service..."));
+                   StartService( schService, 0,NULL);
+                }
+                else
+                {  ;
+                   //AddToMessageLog(TEXT("QueryService..."));
+                   //AddToMessageLog(TEXT(GetLastErrorText(szErr,256)));
+                }
+            }
+            CloseServiceHandle(schService);
+        }
+        else
+        {    _tprintf(TEXT("OpenService failed - %s\n"), GetLastErrorText(szErr,256));
+              AddToMessageLog(TEXT("OpenService..."));
+              AddToMessageLog(TEXT(GetLastErrorText(szErr,256)));
+
+        }
+        CloseServiceHandle(schSCManager);
+    }
+    else
+    {    _tprintf(TEXT("OpenSCManager failed - %s\n"), GetLastErrorText(szErr,256));
+          AddToMessageLog(TEXT("OpenSCMManager.."));
+
+    }
+}
+
+
+
+
+///////////////////////////////////////////////////////////////////
+//
+//  The following code is for running the service as a console app
+//
+
+
+//
+//  FUNCTION: CmdDebugService(int argc, char ** argv)
+//
+//  PURPOSE: Runs the service as a console application
+//
+//  PARAMETERS:
+//    argc - number of command line arguments
+//    argv - array of command line arguments
+//
+//  RETURN VALUE:
+//    none
+//
+//  COMMENTS:
+//
+void CmdDebugService(int argc, char ** argv)
+{
+    DWORD dwArgc;
+    LPTSTR *lpszArgv;
+
+#ifdef UNICODE
+    lpszArgv = CommandLineToArgvW(GetCommandLineW(), &(dwArgc) );
+#else
+    dwArgc   = (DWORD) argc;
+    lpszArgv = argv;
+#endif
+
+    _tprintf(TEXT("Debugging %s.\n"), TEXT(SZSERVICEDISPLAYNAME));
+
+    SetConsoleCtrlHandler( ControlHandler, TRUE );
+
+    ServiceStart( dwArgc, lpszArgv );
+}
+
+
+//
+//  FUNCTION: ControlHandler ( DWORD dwCtrlType )
+//
+//  PURPOSE: Handled console control events
+//
+//  PARAMETERS:
+//    dwCtrlType - type of control event
+//
+//  RETURN VALUE:
+//    True - handled
+//    False - unhandled
+//
+//  COMMENTS:
+//
+BOOL WINAPI ControlHandler ( DWORD dwCtrlType )
+{
+    switch( dwCtrlType )
+    {
+        case CTRL_BREAK_EVENT:  // use Ctrl+C or Ctrl+Break to simulate
+        case CTRL_C_EVENT:      // SERVICE_CONTROL_STOP in debug mode
+            _tprintf(TEXT("Stopping %s.\n"), TEXT(SZSERVICEDISPLAYNAME));
+            ServiceStop();
+            return TRUE;
+            break;
+
+    }
+    return FALSE;
+}
+
+//
+//  FUNCTION: GetLastErrorText
+//
+//  PURPOSE: copies error message text to string
+//
+//  PARAMETERS:
+//    lpszBuf - destination buffer
+//    dwSize - size of buffer
+//
+//  RETURN VALUE:
+//    destination buffer
+//
+//  COMMENTS:
+//
+LPTSTR GetLastErrorText( LPTSTR lpszBuf, DWORD dwSize )
+{
+    DWORD dwRet;
+    LPTSTR lpszTemp = NULL;
+
+    dwRet = FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM |FORMAT_MESSAGE_ARGUMENT_ARRAY,
+                           NULL,
+                           GetLastError(),
+                           LANG_NEUTRAL,
+                           (LPTSTR)&lpszTemp,
+                           0,
+                           NULL );
+
+    // supplied buffer is not long enough
+    if ( !dwRet || ( (long)dwSize < (long)dwRet+14 ) )
+        lpszBuf[0] = TEXT('\0');
+    else
+    {
+        lpszTemp[lstrlen(lpszTemp)-2] = TEXT('\0');  //remove cr and newline character
+        _stprintf( lpszBuf, TEXT("%s (0x%x)"), lpszTemp, GetLastError() );
+    }
+
+    if ( lpszTemp )
+        LocalFree((HLOCAL) lpszTemp );
+
+    return lpszBuf;
+}
+
+//-------------------------------------------------
+// this event is signalled when the
+// service should end
+//-------------------------------------------------
+HANDLE  hServerStopEvent = NULL;
+
+
+//-------------------------------------------------
+//  FUNCTION: ServiceStart
+//
+//  PURPOSE: Actual code of the service
+//           that does the work.
+//-------------------------------------------------
+void ServiceStart (DWORD dwArgc, LPTSTR *lpszArgv)
+{
+    DWORD  dwWait,dwTimeout=1000*60*1;
+
+    if (!ReportStatusToSCMgr(
+        SERVICE_START_PENDING, // service state
+        NO_ERROR,              // exit code
+        3000))                 // wait hint
+        goto cleanup;
+
+    // create the event object. The control handler function signals
+    // this event when it receives the "stop" control code.
+    //
+    hServerStopEvent = CreateEvent(
+        NULL,    // no security attributes
+        TRUE,    // manual reset event
+        FALSE,   // not-signalled
+        NULL);   // no name
+
+    if ( hServerStopEvent == NULL) goto cleanup;
+
+
+    // report the status to the service control manager.
+    //
+    if (!ReportStatusToSCMgr(
+        SERVICE_START_PENDING, // service state
+        NO_ERROR,              // exit code
+        3000))                 // wait hint
+        goto cleanup;
+
+
+
+    // report the status to the service control manager.
+    //
+    if (!ReportStatusToSCMgr(
+        SERVICE_START_PENDING, // service state
+        NO_ERROR,              // exit code
+        3000))                 // wait hint
+        goto cleanup;
+
+
+
+    // report the status to the service control manager.
+    //
+    if (!ReportStatusToSCMgr(
+        SERVICE_RUNNING,       // service state
+        NO_ERROR,              // exit code
+        0))                    // wait hint
+        goto cleanup;
+
+    //
+    // End of initialization
+    // Service is now running, perform work until shutdown
+    //
+
+    while ( 1 )
+    {
+
+        dwWait = WaitForSingleObject(  hServerStopEvent, dwTimeout);
+        if(dwWait==WAIT_FAILED)
+        {
+           AddToMessageLog(TEXT("Error in WaitForSingleObject"));
+           break;
+        }
+        else if(dwWait==WAIT_TIMEOUT)
+        {
+            CmdRestartService("MySql");
+        }
+        else
+        {   break;  //shutdown
+        }
+
+    }
+
+  cleanup:
+
+    if (hServerStopEvent)
+        CloseHandle(hServerStopEvent);
+
+}
+
+
+//-------------------------------------------------
+//  FUNCTION: ServiceStop
+//
+//  PURPOSE: Stops the service
+//-------------------------------------------------
+void ServiceStop()
+{
+    if ( hServerStopEvent )
+        SetEvent(hServerStopEvent);
+}
+//-the end ----------------------------------------
diff --git a/VC++Files/mysys/mysys.dsp b/VC++Files/mysys/mysys.dsp
index eb467e55892..7a0087b68d6 100644
--- a/VC++Files/mysys/mysys.dsp
+++ b/VC++Files/mysys/mysys.dsp
@@ -66,8 +66,7 @@ LIB32=link.exe -lib
 # PROP Intermediate_Dir "debug"
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /G6 /MTd /W3 /ZI /Od /I "../include" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "USE_SYMDIR" /FD /c
-# SUBTRACT CPP /Fr
+# ADD CPP /nologo /G6 /MTd /W3 /Zi /Od /I "../include" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "USE_SYMDIR" /FD /c
 # ADD BASE RSC /l 0x409
 # ADD RSC /l 0x409
 BSC32=bscmake.exe
@@ -142,23 +141,15 @@ SOURCE=.\errors.c
 # End Source File
 # Begin Source File
 
-SOURCE=.\getopt.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\getopt1.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\getvar.c
+SOURCE=.\hash.c
 # End Source File
 # Begin Source File
 
-SOURCE=.\hash.c
+SOURCE=.\list.c
 # End Source File
 # Begin Source File
 
-SOURCE=.\list.c
+SOURCE=.\md5.c
 # End Source File
 # Begin Source File
 
@@ -210,10 +201,6 @@ SOURCE=.\mf_pack.c
 # End Source File
 # Begin Source File
 
-SOURCE=.\mf_pack2.c
-# End Source File
-# Begin Source File
-
 SOURCE=.\mf_path.c
 # End Source File
 # Begin Source File
@@ -242,7 +229,7 @@ SOURCE=.\mf_soundex.c
 # End Source File
 # Begin Source File
 
-SOURCE=.\mf_stripp.c
+SOURCE=.\mf_strip.c
 # End Source File
 # Begin Source File
 
@@ -262,6 +249,10 @@ SOURCE=.\mulalloc.c
 # End Source File
 # Begin Source File
 
+SOURCE=.\my_aes.c
+# End Source File
+# Begin Source File
+
 SOURCE=.\my_alarm.c
 # End Source File
 # Begin Source File
@@ -322,6 +313,14 @@ SOURCE=.\my_fstream.c
 # End Source File
 # Begin Source File
 
+SOURCE=.\my_gethostbyname.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\my_getopt.c
+# End Source File
+# Begin Source File
+
 SOURCE=.\my_getwd.c
 # End Source File
 # Begin Source File
@@ -438,6 +437,10 @@ SOURCE=.\my_wincond.c
 # End Source File
 # Begin Source File
 
+SOURCE=.\my_winsem.c
+# End Source File
+# Begin Source File
+
 SOURCE=.\my_winthread.c
 # End Source File
 # Begin Source File
@@ -462,10 +465,18 @@ SOURCE=.\raid.cpp
 # End Source File
 # Begin Source File
 
+SOURCE=.\rijndael.c
+# End Source File
+# Begin Source File
+
 SOURCE=.\safemalloc.c
 # End Source File
 # Begin Source File
 
+SOURCE=.\sha1.c
+# End Source File
+# Begin Source File
+
 SOURCE=.\string.c
 # End Source File
 # Begin Source File
diff --git a/VC++Files/pack_isam/pack_isam.dsp b/VC++Files/pack_isam/pack_isam.dsp
index 20c832c96d0..036dcd9a2ca 100644
--- a/VC++Files/pack_isam/pack_isam.dsp
+++ b/VC++Files/pack_isam/pack_isam.dsp
@@ -66,8 +66,7 @@ LINK32=link.exe
 # PROP Ignore_Export_Lib 0
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /G6 /MTd /W3 /Gm /ZI /Od /I "../include" /I "../isam" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /FD /c
-# SUBTRACT CPP /Fr
+# ADD CPP /nologo /G6 /MTd /W3 /Gm /Zi /Od /I "../include" /I "../isam" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /FD /c
 # ADD BASE RSC /l 0x409 /d "_DEBUG"
 # ADD RSC /l 0x409 /d "_DEBUG"
 BSC32=bscmake.exe
diff --git a/VC++Files/perror/perror.dsp b/VC++Files/perror/perror.dsp
index 439fcef1547..2b720ace3e7 100644
--- a/VC++Files/perror/perror.dsp
+++ b/VC++Files/perror/perror.dsp
@@ -43,7 +43,7 @@ RSC=rc.exe
 # PROP Ignore_Export_Lib 0
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /G6 /MT /W3 /GX- /O2 /I "../include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /G6 /MT /W3 /O2 /I "../include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
 # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
 # ADD BASE RSC /l 0x409 /d "NDEBUG"
@@ -70,7 +70,7 @@ LINK32=link.exe
 # PROP Ignore_Export_Lib 0
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /G6 /MTd /W3 /Gm /GX- /ZI /Od /I "../include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /G6 /MTd /W3 /Gm /Zi /Od /I "../include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c
 # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
 # ADD BASE RSC /l 0x409 /d "_DEBUG"
diff --git a/VC++Files/replace/replace.dsp b/VC++Files/replace/replace.dsp
index 011b62d08ec..54584151418 100644
--- a/VC++Files/replace/replace.dsp
+++ b/VC++Files/replace/replace.dsp
@@ -67,8 +67,7 @@ LINK32=link.exe
 # PROP Ignore_Export_Lib 0
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /G6 /MTd /W3 /Gm /ZI /Od /I "../include" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /FD /c
-# SUBTRACT CPP /YX
+# ADD CPP /nologo /G6 /MTd /W3 /Gm /Zi /Od /I "../include" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /FD /c
 # ADD BASE RSC /l 0x40b /d "_DEBUG"
 # ADD RSC /l 0x40b /d "_DEBUG"
 BSC32=bscmake.exe
diff --git a/VC++Files/sql/mysqld.dsp b/VC++Files/sql/mysqld.dsp
index ec4722d7f27..a84af8adedc 100644
--- a/VC++Files/sql/mysqld.dsp
+++ b/VC++Files/sql/mysqld.dsp
@@ -71,8 +71,7 @@ LINK32=link.exe
 # PROP Ignore_Export_Lib 0
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /G6 /MTd /W3 /Gm /ZI /Od /I "../include" /I "../regex" /I "../bdb/build_win32" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "HAVE_INNOBASE_DB" /D "HAVE_BERKELEY_DB" /D "USE_SYMDIR" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /FD /c
-# SUBTRACT CPP /Fr /YX
+# ADD CPP /nologo /G6 /MTd /W3 /Gm /Zi /Od /I "../include" /I "../regex" /I "../bdb/build_win32" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "HAVE_INNOBASE_DB" /D "HAVE_BERKELEY_DB" /D "USE_SYMDIR" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /FD /c
 # ADD BASE RSC /l 0x410 /d "_DEBUG"
 # ADD RSC /l 0x409 /d "_DEBUG"
 BSC32=bscmake.exe
@@ -286,7 +285,7 @@ SOURCE=.\ha_heap.cpp
 # End Source File
 # Begin Source File
 
-SOURCE=.\ha_innobase.cpp
+SOURCE=.\ha_innodb.cpp
 # End Source File
 # Begin Source File
 
@@ -615,10 +614,6 @@ SOURCE=.\log_event.cpp
 # End Source File
 # Begin Source File
 
-SOURCE=.\md5.c
-# End Source File
-# Begin Source File
-
 SOURCE=.\mf_iocache.cpp
 
 !IF  "$(CFG)" == "mysqld - Win32 Release"
@@ -927,6 +922,10 @@ SOURCE=.\sql_delete.cpp
 # End Source File
 # Begin Source File
 
+SOURCE=.\sql_do.cpp
+# End Source File
+# Begin Source File
+
 SOURCE=.\sql_handler.cpp
 # End Source File
 # Begin Source File
diff --git a/VC++Files/test1/test1.dsp b/VC++Files/test1/test1.dsp
index 50a165e3e4d..ffa5fd4d7ed 100644
--- a/VC++Files/test1/test1.dsp
+++ b/VC++Files/test1/test1.dsp
@@ -67,8 +67,7 @@ LINK32=link.exe
 # PROP Ignore_Export_Lib 0
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /G6 /MTd /W3 /Gm /ZI /Od /I "../include" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /FD /c
-# SUBTRACT CPP /YX
+# ADD CPP /nologo /G6 /MTd /W3 /Gm /Zi /Od /I "../include" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /FD /c
 # ADD BASE RSC /l 0x409 /d "_DEBUG"
 # ADD RSC /l 0x409 /d "_DEBUG"
 BSC32=bscmake.exe
diff --git a/VC++Files/thr_insert_test/thr_insert_test.dsp b/VC++Files/thr_insert_test/thr_insert_test.dsp
index 770125ab65b..91274e6817a 100644
--- a/VC++Files/thr_insert_test/thr_insert_test.dsp
+++ b/VC++Files/thr_insert_test/thr_insert_test.dsp
@@ -43,7 +43,7 @@ RSC=rc.exe
 # PROP Ignore_Export_Lib 0
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /G6 /MT /W3 /GX- /O2 /I "../include" /I "../" /D "NDEBUG" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /FD /c
+# ADD CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../" /D "NDEBUG" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /FD /c
 # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
 # ADD BASE RSC /l 0x409 /d "NDEBUG"
@@ -70,7 +70,7 @@ LINK32=link.exe
 # PROP Ignore_Export_Lib 0
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /G6 /MTd /W3 /Gm /GX- /ZI /Od /I "../include" /I "../" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /FD /c
+# ADD CPP /nologo /G6 /MTd /W3 /Gm /Zi /Od /I "../include" /I "../" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /FD /c
 # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
 # ADD BASE RSC /l 0x409 /d "_DEBUG"
diff --git a/VC++Files/thr_test/thr_test.dsp b/VC++Files/thr_test/thr_test.dsp
index 7256f8da2fa..495d7280808 100644
--- a/VC++Files/thr_test/thr_test.dsp
+++ b/VC++Files/thr_test/thr_test.dsp
@@ -68,8 +68,7 @@ LINK32=link.exe
 # PROP Ignore_Export_Lib 0
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /G6 /MTd /W3 /Gm /ZI /Od /I "../include" /D "__WIN32__" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /FD /c
-# SUBTRACT CPP /Fr /YX
+# ADD CPP /nologo /G6 /MTd /W3 /Gm /Zi /Od /I "../include" /D "__WIN32__" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /FD /c
 # ADD BASE RSC /l 0x40b /d "_DEBUG"
 # ADD RSC /l 0x40b /d "_DEBUG"
 BSC32=bscmake.exe
diff --git a/VC++Files/vio/vio.dsp b/VC++Files/vio/vio.dsp
index d4b77aad391..7c6ecb47e5d 100644
--- a/VC++Files/vio/vio.dsp
+++ b/VC++Files/vio/vio.dsp
@@ -64,7 +64,7 @@ LIB32=link.exe -lib
 # PROP Intermediate_Dir "Debug"
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
-# ADD CPP /nologo /G6 /MTd /W3 /ZI /Od /I "../include" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "USE_SYMDIR" /FD /c
+# ADD CPP /nologo /G6 /MTd /W3 /Zi /Od /I "../include" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "USE_SYMDIR" /FD /c
 # ADD BASE RSC /l 0x409 /d "_DEBUG"
 # ADD RSC /l 0x409 /d "_DEBUG"
 BSC32=bscmake.exe
diff --git a/VC++Files/winmysqladmin/db.cpp b/VC++Files/winmysqladmin/db.cpp
new file mode 100644
index 00000000000..6e796856a7e
--- /dev/null
+++ b/VC++Files/winmysqladmin/db.cpp
@@ -0,0 +1,80 @@
+//---------------------------------------------------------------------------
+#include <vcl.h>
+#pragma hdrstop
+
+#include "db.h"
+#include "main.h"
+//---------------------------------------------------------------------------
+#pragma package(smart_init)
+#pragma resource "*.dfm"
+Tdbfrm *dbfrm;
+//---------------------------------------------------------------------------
+__fastcall Tdbfrm::Tdbfrm(TComponent* Owner)
+        : TForm(Owner)
+{
+}
+//---------------------------------------------------------------------------
+void __fastcall Tdbfrm::SpeedButton2Click(TObject *Sender)
+{
+  Close();
+}
+//---------------------------------------------------------------------------
+void __fastcall Tdbfrm::SpeedButton1Click(TObject *Sender)
+{
+ if (VerDBName())
+  {
+    if (!Form1->CreatingDB())
+     {
+      Form1->OutRefresh();
+      Edit1->Text = "";
+      Application->MessageBox("The database was created", "WinMySQLadmin 1.0", MB_OK |MB_ICONINFORMATION);
+     } 
+  }
+
+
+
+
+
+}
+//---------------------------------------------------------------------------
+bool __fastcall Tdbfrm::VerDBName()
+{
+  String temp = Edit1->Text;
+ if (Edit1->Text.IsEmpty())
+  {
+   Application->MessageBox("The name of the Database is Empty", "WinMySQLadmin 1.0", MB_OK |MB_ICONINFORMATION);
+   return false;
+  }
+
+ if (temp.Length() > 64)
+  {
+   Application->MessageBox("The name of the Database can't have more than 64 characters ", "WinMySQLadmin 1.0", MB_OK |MB_ICONINFORMATION);
+   return false;
+  }
+
+ for (int j = 1; j <= temp.Length(); j++)
+  {
+    if (temp[j] == ' ')
+     {
+      Application->MessageBox("The name of the Database can't have blank spaces ", "WinMySQLadmin 1.0", MB_OK |MB_ICONINFORMATION);
+      return false;
+     }
+    else if (temp[j] == '/')
+     {
+      Application->MessageBox("The name of the Database can't have frontslash (/)", "WinMySQLadmin 1.0", MB_OK |MB_ICONINFORMATION);
+      return false;
+     }
+    else if (temp[j] == '\\')
+     {
+      Application->MessageBox("The name of the Database can't have backslash (\\)", "WinMySQLadmin 1.0", MB_OK |MB_ICONINFORMATION);
+      return false;
+     }
+    else if (temp[j] == '.')
+     {
+      Application->MessageBox("The name of the Database can't have periods", "WinMySQLadmin 1.0", MB_OK |MB_ICONINFORMATION);
+      return false;
+     }
+  }
+ return true;
+}
+//---------------------------------------------------------------------------
diff --git a/VC++Files/winmysqladmin/db.h b/VC++Files/winmysqladmin/db.h
new file mode 100644
index 00000000000..f7ab87351ea
--- /dev/null
+++ b/VC++Files/winmysqladmin/db.h
@@ -0,0 +1,32 @@
+//---------------------------------------------------------------------------
+#ifndef dbH
+#define dbH
+//---------------------------------------------------------------------------
+#include <Classes.hpp>
+#include <Controls.hpp>
+#include <StdCtrls.hpp>
+#include <Forms.hpp>
+#include <ExtCtrls.hpp>
+#include <Graphics.hpp>
+#include <Buttons.hpp>
+//---------------------------------------------------------------------------
+class Tdbfrm : public TForm
+{
+__published:	// IDE-managed Components
+        TImage *Image1;
+        TLabel *Label1;
+        TLabel *Label2;
+        TEdit *Edit1;
+        TSpeedButton *SpeedButton1;
+        TSpeedButton *SpeedButton2;
+        void __fastcall SpeedButton2Click(TObject *Sender);
+        void __fastcall SpeedButton1Click(TObject *Sender);
+private:	// User declarations
+                bool __fastcall VerDBName();
+public:		// User declarations
+        __fastcall Tdbfrm(TComponent* Owner);
+};
+//---------------------------------------------------------------------------
+extern PACKAGE Tdbfrm *dbfrm;
+//---------------------------------------------------------------------------
+#endif
diff --git a/VC++Files/winmysqladmin/images/Goahead.ico b/VC++Files/winmysqladmin/images/Goahead.ico
new file mode 100644
index 0000000000000000000000000000000000000000..8241c90e2a20f50b923ce020a2607f1e90030b94
GIT binary patch
literal 766
zcmb_aF%p6>5M0z58)mSwmC|46)AF=DfEm6(X-R3pOx(RofI`v23zy5@Zte&Ks5sj8
z1leN;oEfk5mVT#KIB*66x%U=Gk_o{BXD$(AWE7F?K}uTDIh4}$lXbL3SPOPtEE$Kh
zqQIP}7i>F(**P&77M-zr)N4$^H!S(Qp9TJa^)@n=vU<J4sbFhoH2IoY6Nvuwz7&YI
z11qwE1)kRr*w3_MWAhjGwPwj_CE+MnSp5%I6m~n>(Z(jFP}!B3fZG$ej6fqFfMW#q
Z#RIS7mKUAkz`do8YO1zfJM~ge+6yHyON{^k

literal 0
HcmV?d00001

diff --git a/VC++Files/winmysqladmin/images/HELP.ICO b/VC++Files/winmysqladmin/images/HELP.ICO
new file mode 100644
index 0000000000000000000000000000000000000000..d0cd6d68cce7ad691f9cb56393dd3c3b495cd7d6
GIT binary patch
literal 766
zcmc(d!41MN3`JeU0Gv4Y$QX>)(K<lXuEC-51eMBvPF$o&aOJml{OxbkB$y3)#_?w0
zbuqhZeaJ@HQ#ROD{ud@Qy*5pCkymK*JZq(J#B0YvB-29*9w<VM@OyEgtSz%I?i<z;
zgr(p^uzPY3feOw%(hSp@9Kiyw{UPXh$W@56``S27pz-YYbs>As%f7RobL#he=Jq@r
zQr~lS5I?lwh2**W))3!E{Ef4J)c{eP#}>4423D?s1C=a!9JmD0pnSa$1xn!Sg>hdX
Q@2kI0sTf$r`aAp;Z$@n8>i_@%

literal 0
HcmV?d00001

diff --git a/VC++Files/winmysqladmin/images/INFO.ICO b/VC++Files/winmysqladmin/images/INFO.ICO
new file mode 100644
index 0000000000000000000000000000000000000000..e3afa8cf52c556f048918aa5a290c2fc2b9e730e
GIT binary patch
literal 766
zcmcgqyN&`e44gfXXjX!XmM!lu;Lk3f<`0O(FHllaQmimDPORmm6LjaSGZ}mAJhZ^T
zF-<$ju3x~O_)VYaC;EUj=XX{Beki2@XD(r8L?t{vxNAk{P)O6CR%uIO6s^^IWDK?h
zYCW@)``k*HP97B$CYOL|8s!2CM&Sz&nw$k6`1m_-|H9)wv9ZPZ7M|yAr_v+ls^N0q
zUf%A{2D1WsFrl7PNE(99l@3AYK_zJQ*0=&HPs(Wa>Vg;W+t$4d{s4Yv;CKfPH(+}K
eHU_NZg}-1rK3M96*6T0qrJm}oJ+znh)ZS0XHe=BM

literal 0
HcmV?d00001

diff --git a/VC++Files/winmysqladmin/images/Info.bmp b/VC++Files/winmysqladmin/images/Info.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..58f729fb1fd1460f8edc18164815bee6b77b58fa
GIT binary patch
literal 644
zcmchTJr2S!424|^TLwl(M$W*<Sc&U&&QUl5NALk6aSzT=DZFRLN-H6;;U;<h{F5fR
z-RGT{%~&s(=Qan~!`s?%gINSaa(2NAS5y_sM71Hc(!<2Z5SOo3U_FtDrD%&JqaG;b
zg`H|$yanlC>p)>J3y_APoPvTxU9n*>8h&uv=JhXZ_pu+Vov(A8*H6Vq49~USx3&BI
uvBAOsAB@W9qynv=G1FGi*pLO@ug(mxJrL2@s}-zd80GOiOmZ40d0#&j#!93B

literal 0
HcmV?d00001

diff --git a/VC++Files/winmysqladmin/images/MYINI.ICO b/VC++Files/winmysqladmin/images/MYINI.ICO
new file mode 100644
index 0000000000000000000000000000000000000000..428ed8e92b022e3cdb815530788da671ca44b14a
GIT binary patch
literal 766
zcmbV~F>b^l5JkU3q|j}uZP#T=OB`TxvmMI~x5!m2rN~us3+IjPI6$#dcHqzO`S6(n
zsblp0t31A+q%-vm^xz$IdM4islbABw3Yn$md8WFstW(S4E5PtAPi^E}?L@_j>z~{d
za~a$(Y5ka#LkQ_FhFr2Vz#F}34obhffmZi}57GRzb4o~?ymFMZ%YGz9JLH|0GI}NB
zSIJ7XOh1LW`~SY}=0qdow|2gX<oY%nwS1g=V8I_)KEc%Bj#UVz(`34U>onT!Yve0g
W2LgBjCvX8*a08f+z#sVlMf?D!QHp^8

literal 0
HcmV?d00001

diff --git a/VC++Files/winmysqladmin/images/Myini.bmp b/VC++Files/winmysqladmin/images/Myini.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..e743a1b9b321cf7c6de28f506baf3ab4c9d413fc
GIT binary patch
literal 644
zcmbV`F%Ci@5JU&Dp!5iqmL#-RCN?G(-o^Zyl4E!jZicgf$kOTlzsn8}hP~Xk9cpZ>
zC+4xI!JeItgOU;8j~Ls+$`(0it^!K^QHpd-ezGNHjg-`mgHswm>Ij$S;Qd+Z$ADz5
z4d3u-R>4y*d>M|C^L7JN_o2Oua#}PO8yc>fBy=oCf{O!pJ!5i(>8CJ)#++v|7yr-O
eV$N7F{p#cmvg+I1(0H8tqj?y-&bZ;pyqY)EvqPl-

literal 0
HcmV?d00001

diff --git a/VC++Files/winmysqladmin/images/Noentry.ico b/VC++Files/winmysqladmin/images/Noentry.ico
new file mode 100644
index 0000000000000000000000000000000000000000..27f2211f56c524448b7cec644eb1b58680fcf6e1
GIT binary patch
literal 766
zcmcIiF%H5o47>soVk#3W9r*=3El*(0#8>i^j*J~aLJD_j+=dFZEI4(Xvwe2!2B^52
zW)I1I1srHk)P{PYR@iU{9An?bG02E>z2VLyLI|`9#PlFWov2)LY5Pe$WlY=&dVe)f
z4~Gnc*^#pc#uSg~iBN=7izQsrRlwi)Sy`U{z#k2PrT3f0QSvpxA|Xw5iVH#>xK*(E
zXU6b9I0TAC=WUu)SI6k8bR}NE`2id|pq944HUMi=$Llz!mM7biYjsppwbQjzFZHCn
E0T5dk!2kdN

literal 0
HcmV?d00001

diff --git a/VC++Files/winmysqladmin/images/SETUP.BMP b/VC++Files/winmysqladmin/images/SETUP.BMP
new file mode 100644
index 0000000000000000000000000000000000000000..c5794e5ac002c08a15e69c14b7bad84579791535
GIT binary patch
literal 86878
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
BW8we+

literal 0
HcmV?d00001

diff --git a/VC++Files/winmysqladmin/images/Setup 16.bmp b/VC++Files/winmysqladmin/images/Setup 16.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..e17b06155fb278d7705ec06eb6dd882fc150a353
GIT binary patch
literal 86880
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
BW2FE9

literal 0
HcmV?d00001

diff --git a/VC++Files/winmysqladmin/images/Table.ico b/VC++Files/winmysqladmin/images/Table.ico
new file mode 100644
index 0000000000000000000000000000000000000000..4469a915b7fac90084a940b1056385f84afb2839
GIT binary patch
literal 1078
zcmb_byH3ME5FCd{(8Yg%E0mrBIw)N8GZaB-xQ-JIzvNGGNqG`TSa*__**zb!qL7G)
z_07J<ySG}|K!pYBx`xWS0<LJACdcm!;DNa{bDC+03QKCBGrdnafCtWHLroW5*U>5=
zb|9i2!ADc7id=Z_ia(A4E0NHn#|i<z#Gh^3D!(+#ZW5fvJhW3xj^dDQx#7p^2tA|j
z5V((Sjx(J-L-*7W_e9x~;|}+W<BrI1CuXSW{%ubzKTRY`keh2?s-wgZU$&cDmovr>
zvfVu9gz@q!ar0D4Xy2Iruose~kYr$)x1N&NKMm1)`O<=k_e@%xc`HiF?~079A7u=L
za+7OGjgRsA&Rlly%k$Wf_Sqfd=e^Xo{p6)YjVG7$#oSN#dw|!P(?!4LBK#?&M@8V7
OxFar!^Z!P<Pwh9}-+3_r

literal 0
HcmV?d00001

diff --git a/VC++Files/winmysqladmin/images/Working.ico b/VC++Files/winmysqladmin/images/Working.ico
new file mode 100644
index 0000000000000000000000000000000000000000..72faedbbfc52e2ff31c49ae6038f33719f674e86
GIT binary patch
literal 766
zcma)4F_OYC4BWuYP`H4KmX!Ak_!)kZdo_Ma$}1@;nA7cAF(k|tD3RpVt|ez;VBj;3
z2grUlz>)czKGHAr0bh(jCilN(l4Np@#K<LTt;{04y>Qox&POGM&n&&ktgH&jY=zBM
z0@5pi;6l*og`gBH+b5Ky_I-p27szGghz)%Nm%>JuK$L>T>M0{7ftUh`L!@HhU|5|o
zh3y1ZC>0s~k%}5L({Z4)r@3##)UrfDLku&H;}f?pdC?L?t#4@4I#BMjdyRs=jI4=E
zd;fn=j(5QQadp3+-ESxNY42Wl?s?1GG59a9$pg6Ff%6SGO~Aeay9{jEWautjS)a&D
UC%yJ*zxuR(>Z|^mqj{YB2VRrFssI20

literal 0
HcmV?d00001

diff --git a/VC++Files/winmysqladmin/images/database.ico b/VC++Files/winmysqladmin/images/database.ico
new file mode 100644
index 0000000000000000000000000000000000000000..9689aa883610764ff753ffbde688c53f44170847
GIT binary patch
literal 1078
zcmd5*J8r`;41JDUL_mNdH;AVqV|FdQNw49p+?3-K&{Dude3XpcGa88co@B!Ynj#%K
zls3PQqGXW<Dy+~nTZleaz%%uBTl{?mJk`LSv4;FYuJAw!7;|rv5hP+(6eUgceNQbQ
z<rgW*BJ)v5;ybw#;!2}Muj^782H@B_x-ouqr_(9Mh!6}zM-uM6cWsNyjK_5d!b`mg
zpX(9l4s$*nH(S=z!eu@A%X%4K)RVugC-)!J8#3`^IuCevBW1UMQwp0hq0~y?%}%6l
zId-jNuz8jP>SJ!DT+-CP;@y#2dBx-F8Q2&{jhxGlTE61Dzv46ScEwuTX4-?ZPj1N5
zocFYElZ}Vtd^17PX#8r<bt}gZ96FBju{H10CAv^Y`u@;vJn{H$H5kW%w&MKw635SR
k^@;hpNj#Iflk}hP^K?q>OLZ=aawPueEP9u1&9yt=3wSnBSpWb4

literal 0
HcmV?d00001

diff --git a/VC++Files/winmysqladmin/images/find.ico b/VC++Files/winmysqladmin/images/find.ico
new file mode 100644
index 0000000000000000000000000000000000000000..2e0f96c52f996b34e252db181bafa0de1f9fbd09
GIT binary patch
literal 766
zcmaKoJyOF!429*8iB&K$6&-_1-+>|=B^9R3r0`G~;Ua8Bj=)jk18|7#?1~AUX}mni
zo`lRmw0_!^Kk500D8fq9E7E8uMAz6eD248!h^ELy0`_<8h;Y$vH*Cl_QeD?1A^^cI
z3PDd0mfq5IHWGh|`_nr4<P+X|`CXsE?410<j5(I$wAt`z9_PF?Tf0lMqTmNRTH-uk
zZXPqCIaz;P6st{D9qIzyWm!h#jpwdhRfw^k6|ap~p1RiIt>#bVz{UJHZkncLaNh?B
zf#+qpt{C&Ob>g<lTg-xoE*Ur=8pNSv%cML@?R)XRnbvB6*Q3N4=L}Ck2cYpu^=1u9
zb)L`wcX$t+Xi~0)jT$G7fvUg7<;NKR)I*nM41Pm<$U`;s0$qfD8i$UO@YUV+alh!I
gu<-P}sOj!qC3IstI-Q;brK%p~v3F1ph5bR%51=vH82|tP

literal 0
HcmV?d00001

diff --git a/VC++Files/winmysqladmin/images/green.ico b/VC++Files/winmysqladmin/images/green.ico
new file mode 100644
index 0000000000000000000000000000000000000000..ef53cd87994ed6088fff7244f0382c6a4c6944b9
GIT binary patch
literal 766
zcmc(cu};J=42FGxbl$iuh_NFhQWi!Y>9(G3GGe$#LCOmtW$NQF_6^GCCTTjb<1}%c
z|BwC06*(}5;l%nNKX)QeBJ#o<nD0zKcQdfR%>Y5nieqIf(=_27Sk_OL#dl1GA9=jm
zEb>@(Wrb9c0+Ypd1l4iWP7u4Le71HVqSu_hwWc8VEvKB$wFaq=g!xiy;2Q23pm&^_
zv#QuN<u8AeYXH|{P8agminG}`?gWZzj9e>k;evg}_-b7bFodqhJO*EH;2PfaY<Sh9
z_c6X9tLZTarO%~Zy4uz-h#`P)dh`&&^R7R@5V{`qxV;ZO4R3ljy!GcJgwwu15O{y<
S&w>D~mdAOI>ks$cf7&nGIuX_Y

literal 0
HcmV?d00001

diff --git a/VC++Files/winmysqladmin/images/help.bmp b/VC++Files/winmysqladmin/images/help.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..76c6a90d2d8bcedc5bd20b82e47c8e3cd9662ec8
GIT binary patch
literal 644
zcmZ`$!41MN3^a%VU;~~!n1CnGO03ftkBq{HJvu;??tv;#P^sM6aZw}THqM=WcANPA
z==WmQ!(Xt@b?xK;w6)`gCK0@nl5g;UG7JNDCKh{TS%|RkFhp*aVUFnMtgt-R$Xrw>
zt{NcBncf7m23Hdxq3p*nn_&-5K_T~g6Exi9NLW~Ptei!(%A;P#!syyB>ehVp@&Ebt
zZFv-gzU4fDeW=jGg2(A=f&CxxKhE<bM<cTPn2c7=hRy+ap^yc)3x~i85ch!qAVBW}
a<Gg4wuXdhLv7w9KBCqGEldE*{xqSgWis`%n

literal 0
HcmV?d00001

diff --git a/VC++Files/winmysqladmin/images/initsetup.cpp b/VC++Files/winmysqladmin/images/initsetup.cpp
new file mode 100644
index 00000000000..d0dd15b059c
--- /dev/null
+++ b/VC++Files/winmysqladmin/images/initsetup.cpp
@@ -0,0 +1,42 @@
+//---------------------------------------------------------------------------
+#include <vcl.h>
+#pragma hdrstop
+
+#include "initsetup.h"
+#include "main.h"
+//---------------------------------------------------------------------------
+#pragma package(smart_init)
+#pragma resource "*.dfm"
+TForm2 *Form2;
+//---------------------------------------------------------------------------
+__fastcall TForm2::TForm2(TComponent* Owner)
+        : TForm(Owner)
+{
+}
+//---------------------------------------------------------------------------
+void __fastcall TForm2::BitBtn1Click(TObject *Sender)
+{
+if ((Edit1->Text).IsEmpty() || (Edit2->Text).IsEmpty())
+  Application->MessageBox("Fill the User name and Password text boxs ", "Winmysqladmin 1.0", MB_OK |MB_ICONINFORMATION);
+ else
+  {
+   if(Form1->ForceConnection())
+    if(Form1->ForceMySQLInit())
+     {
+       Form1->CreateMyIniFile();
+       Form1->CreatingShortCut();
+      }
+    Close();
+  }        
+}
+//---------------------------------------------------------------------------
+void __fastcall TForm2::BitBtn2Click(TObject *Sender)
+{
+ Close();        
+}
+//---------------------------------------------------------------------------
+void __fastcall TForm2::SpeedButton1Click(TObject *Sender)
+{
+ Application->HelpCommand(HELP_FINDER,0);              
+}
+//---------------------------------------------------------------------------
diff --git a/VC++Files/winmysqladmin/images/killdb.ico b/VC++Files/winmysqladmin/images/killdb.ico
new file mode 100644
index 0000000000000000000000000000000000000000..9689aa883610764ff753ffbde688c53f44170847
GIT binary patch
literal 1078
zcmd5*J8r`;41JDUL_mNdH;AVqV|FdQNw49p+?3-K&{Dude3XpcGa88co@B!Ynj#%K
zls3PQqGXW<Dy+~nTZleaz%%uBTl{?mJk`LSv4;FYuJAw!7;|rv5hP+(6eUgceNQbQ
z<rgW*BJ)v5;ybw#;!2}Muj^782H@B_x-ouqr_(9Mh!6}zM-uM6cWsNyjK_5d!b`mg
zpX(9l4s$*nH(S=z!eu@A%X%4K)RVugC-)!J8#3`^IuCevBW1UMQwp0hq0~y?%}%6l
zId-jNuz8jP>SJ!DT+-CP;@y#2dBx-F8Q2&{jhxGlTE61Dzv46ScEwuTX4-?ZPj1N5
zocFYElZ}Vtd^17PX#8r<bt}gZ96FBju{H10CAv^Y`u@;vJn{H$H5kW%w&MKw635SR
k^@;hpNj#Iflk}hP^K?q>OLZ=aawPueEP9u1&9yt=3wSnBSpWb4

literal 0
HcmV?d00001

diff --git a/VC++Files/winmysqladmin/images/logo.ico b/VC++Files/winmysqladmin/images/logo.ico
new file mode 100644
index 0000000000000000000000000000000000000000..9409cad72b69aae2caa27261e26384eec06d679d
GIT binary patch
literal 2022
zcmcIldpy=x82_qQUiB)M!mH#m3z0%fZn<<5p<D`;+qP2Eg%!5i$hDf1)`c#kFr}5Q
zQcIajN+f9}F}3cd8A*zB_IQ2j^O>zb_j^C*{LXp4&pGEg-|zGMUO<X|nre_d)iQuG
zjr6E#QkzUo3PS3EoWYV;e<#)dGBL@<_U+p-f4&d4ZrutaBP00v`5`7I29A!7kd~H)
zv9U2$uU?G{7s?<jD+_gXb$EG2!NI`+a&mGoG&H2mQpn~7D=RB_czD3v+#I^Py3o<l
zfr5epX3m^R>sCQePY+U3Nf3+0(AL(5rluy8m6f5Sqy$ApMKH#YoSclnz(Blu^$LxR
zjqvvN#><y4(b3TXCnqPgx3{CNt`0ptJ*cXx!jU6K(An9Ew{PF#_U+rSv$I1<NeN!R
z?!lWkZx9(7iI9*Gl$MsFrKJV#?(QfmD#G*U&(Yo84IdvLI6FI|p`ihJd3gv5T7fH9
zt{^--9IdUbShj2#va+&JU0sb!moDMt$voV>dlzM8WiT@{gTKE&;^X5H6%~ch&`|8$
zxd&_3tU+yUEmBfakd%~!qeqXTtE&sPwzlx~^+iBH0J5{Q(bm?6GiT1=+O=!2u&^K=
zmLoAS9vK<sWIs)DK7@wGLApmT+}zwKmL%M}caMCN$uAL^nTILf6r4D5g5qz(#*G^(
z_5w_wzKt}zh=hcE%$eha*w}c;$m~R1TpS)fdPF>PsHvr3-@bjc*Ctd}R-&S!0=>Px
z#NiF3rKO>;u#n<wA<ZJOWXXBh+o$66=_&{WTd;QRTJo!<vx8`#5EvMw(LND~j*h1L
z?LvBbI_1j++_`fH=gu8NO-&7rTS>Q8ym;{f`T6(hyb_8(6Z`k?$NBRG*t>Txf`fxe
zr>9uCawT$da-gNPj`C<d*@{T39_-$|n>1-5PGX6hLdt<|?Ald>`}ZGE-kySujSXr4
zkTg08YwK|0weO59EM4kJdAfn}Fpap)Kx%3#TwPDW#U&5duRp}uvuCksQyH#aErW@P
z3C){Hw<^ldd6eT(q-6tc-MWQ>f&$#Uc@w$0nFtFDLw$Wc@#2nc+v0KP&>^~G4Q9>q
zrSSo}V?O170-dpicuqxmc{waC?J3uMs7_p9YU)Zk(TN!|;z--$h=@oh{tlq2sflVK
z0i#AGQeB?HlP6C|#{@bv7tPJ>c>K7N>N1A-X$0q8RFj+W?AbHYqzD@}tbnR&81ayS
z;^JZ)K75(>-U5C7^~7l?wP1)uJ0!)=Ij8jlAJdS4JyrvalKFIp2@`dV;`M_TFYtfo
zpfjgpicLfH1e)tCEF2=`Zaqexsb){sb9J?}w47{WuwaCl%+jS6vnF!$*&`LkXo*DH
zrCP>DOBTyWOUoF}nxZOVV`a~bP>SJ`l;oL^iS+Hf>a0A4Vl5R-vEbZo#_R&-x{2I2
z=#3MyX_b3_P>>tx&4)6P<BdyW)h0Qyn>w5)2*r-y37LCeR7RRwhH2ZF_%P=)hS=Js
zTP^e%yhJD*Ct$KJlBm6zz}SL`Ki1(UdYq4!vR4+!Gx1<~X8lZp|IFkvG9`H5)K67g
zNFSy7fkLLVQG$mu@!bCPH1(HdOsFz$QM;aqnFUJl*-T@y$Gi2LgiLmdxq;`g2|-No
z#dLD8kz<bB>mBYO64|fz8>%Yp>%&xJJZ3mYjbI;5;*Lz7;_G{+F=c%-k#M)koMa}j
z9ydyr$+vLbm26Cx1m>}eMhaA9=O6g~(^Jm{sw!F<`c8?<3Y4{{^~2OpG#GEno7Xm-
zIKReap0h6JuLsQ=uWR}qmkf#&?;Cd;mi*GQo%74(HRk_BIsfz5de7e9zKp(ix3=ol
zCl?+K#Isg?{_vYOGZnX{z8!HyanR9$_|z+(oqoJ|SI+Q=C&zcb7{1PTphMUnW$M3U
z^vegG7gI*(5BqT-&iRU`XRrQssCY-@SJ&=*oA+;==klo?tp}4D*Q?(e_8)Mc>1#d}
hKV1(V9`^y9%*#*mE#Yk+#tGTC|2^FQFZ%!Ye**{&x=a87

literal 0
HcmV?d00001

diff --git a/VC++Files/winmysqladmin/images/multitrg.ico b/VC++Files/winmysqladmin/images/multitrg.ico
new file mode 100644
index 0000000000000000000000000000000000000000..76ffbe29c77156ae50e3d648e74bf7220459ce59
GIT binary patch
literal 766
zcmaKqy=ucS6h?3Af)+zMbxp>O2Catlk-TNBA5EZD&{xRVF=K}i^?X-$yoAcRvd;ba
zt|H59$8$Wsna0nH**otK?1+70J9}j|n~6OiGeIKr++NHqvDs2e1gih6R;@4|xiqzL
zKA)#`Z5BYr>IhoNw>TzMUhPq`2W!3I@Pxj6gQb+vG+C9bY4C*3d6d(I<Hmyu6e-cY
zVozT<hK-dL5$KhkqZf#U4<0u5{FP&N{pd`@ds6m@yGkjk)syXiprpz5mv+P_?@xDE
z$n3ADbmbUK`v;ePFaisYWzd<A%I2429&~=4)X{^56hu{&I3`DR$Q*Yr4bA%H{8#ob
zd)?^2RlS8;FMQD1PTYpW-E4p3YyYwlB)SXNPnMb)Z*JF9+u>jHy3}gJ1wC{Q=$+90
NLZ4n8_vhfd{sV;I4oCn1

literal 0
HcmV?d00001

diff --git a/VC++Files/winmysqladmin/images/mysql-07.bmp b/VC++Files/winmysqladmin/images/mysql-07.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..dcae23b88137e076df1fc6e0894475932ca867d5
GIT binary patch
literal 9618
zcmeHNUu+b|86P)2#cm*RP-<OCN_#<sAc|TC2)We0B*2m2C2Ba$L1g{}-DwTfYT(SD
zG_tkU1&1bh1s1tTv2?g?a#juPokW_;2}{oDOtM>9wK=W4EA2z9zVXN-kM#G=?48fX
zvP~65dFa62&V2LD%x}Jb^UcEc*DtSQqCEd&#-2s(Lp-f`>R7#?9}I|>{HYTi9-*Gq
z*Aq`8-i@rWu@QAY>VDMy%<uQ39Y8yPb^z@F3k0aX0rd^2Z(tiXY(Tpi^=8zYS#vYh
zgQy2l53*p8>f2G@j{0`CefxH_+t6-9yAAC&*49S#2<j2kBP<e$fTta_cF@{EYX_~J
zwYRr}9>>@?=yA~FpvOUvvv@oX{!Y+3(e6aMlXZ4>g6|aCr_ery_9=Gi)G6?EV_Y}r
z-Jo}a-VJ&;>+U9cA837`^?}w0S|97{>w_G0tgB;;4!RDy4!X{CT}NLEGD<-XDaa*-
z{ilF41^yH;rGO!YHB*>3g?UpLpTgJ_#->;*MdQ*Km&Uj>#-%YXjd5v=OJiIbYo;+a
zjj?HrOJiIb<I*ghCjMd8Oi%ML#tdW3F!nHvF~b-$4E|y84}*Ug{KIT`nE0~b%VO><
zc(dTmf;Wr#v%r?c-m(~%#h5I{WHBbovRUHKgFg@cJoxkA&x1b?{yg~eSSJtuJoxkA
z&$E1<c*npy2Hr97j)8X!ykp=U1K$|<#=tkm#>S}MK)=EI=;<@SV*rD}vcm>=4DcAt
zFsN?|eN*V0!W>hWV+#FK=$}IW6q}l&J_lGF^gHNx(C?t%LBGQshv+k)&wxGy`V8nZ
z7&n8y88$ORwA-NF2JJRzw?VtjZr`T%9klPDeFyD3?9Lsk-$nf{>UY`QyY#+?_dRy+
z-VgVI(f%;X&Ye4%`<)frv25=TUXzoiQ7q(gxeT6yF=<)OVk-%OEXJ^KpX1V>`Ni>&
z*o0@&lt41Nu4$T{0T|1&W`|%n%}_H7dtkYETNk@`?3$@u*T!OIr3i@#APFj(o-3G^
zWn*zM1IAbW!cPQ5$ff)sI+7Z|npCiVJXJVo38fTJa-<p(NGzsMi6yj5&M-XyG)wg_
zs+O39ef#aV%g5pf2$h}V4HNJt!p<<MDa|93k(!Y}!b(_)#XP~#fSL(JRZQZ#?2$*<
zvaygHOp~@v`^K+fn2<Zrkc<J;Gzz&vk_Jj55mO>cI2>*R6h)~h$+8Rp7BkQ<70e>$
zV14D4%f>=F0E}El$HvJwPznYK2Qqd56i|R95fcRf!maE44UfMdR0JIrzzU0|8E8Ca
z@Fo#+xa?&l8Nzaw{*jAiynSmpP6Z;Mp>5$Yin$DsD3Ax0@UI@H42ISHmP|L30V7IL
z+7VofCXlm8vwi?S!p1RChRiVrQ%p!zz*)si0Am^ig+P#2f=`KfA%5P%s?aGxAs&((
z;K@R7Y1WjHEmJPA2csYtQ(_9ug-6ar!Y^z-A%F_&2(4Q&i-fUNS~gcGnr0c+1}zGy
zVLMc6{GI*l=YOeSA&t*^=zN_aj!l|aEhZMLnTfm=?wa`#duUydq_QnA2MB=*69=i1
zc7qupH=03&LE2R&hfdZz*6U%Rm@Un4J`A))M1X+Brr@H9exYw+r{p5gK%#+G_0dmF
zsrv~v{A4VELMloq;ZP7$0D&%JA!>9&u->$Xh4ft%hX&TI#xD;RBnDmQdX$#~tD9Ce
zH3hbX`?K&TO~_k-$z^)h)L=k$<@y~*VzEeDOB3_ykPD=8WY?~jUfjC%*<Wwn`r?Z(
z?Rsg~D+!Vftf>|Ypg@&mM3!ky&O<{u3!kiexOS~Nzmf$QB|`ER;!bR;?PshFK?ocP
zB^C<G6JYIJ25PN<XoQcEjy$<oRv`yd!Wfbc_8_9YCm-8_1FgDmqQ}Cz7DF_X%8%4I
zj%00A3NQ~1L6@Q~4Cc}Mra=BJq70o?ReP~u3yFxZLkeN&BIA(})rHJ5nlJ~NtgbPz
zW~H=?bv+R!*b0k{Db1eLR%}$Tr`@Z?va57q?FuG_=U1@!o>;wl&6?G6iVOvD+Pz)D
z;#fvTi$s(J<fW4>8qi7+N~G}aSSF0Nvh9r*;Gafjy;#h@7ls%Lw(WjGG+EtqJwo@E
zJxG@?_Hax_0TPU9NV%-S2rQJ7Q)FPK!pDF`>c}PoCoKIG#0d-qYO*M(2}Xw*x5(8X
zcM27z85HdRL1}HJTOdmPP6&WBj2&1TiQ-dqgugJ(BWPb@SrZBgEQa|C7(Nk4C8?l-
z<%^DJe@`R^S@y$E3Ctixq8#!c+qyPZ%xSSU5zr%sQ7je>1CkX=tJ_3iJgN9XiVPLP
z{cK^Xk7&>%nK%4)E*3zBto!NoASkYfWjxCFoJSCfbR!Ppqz4!Z9VA%Gyv)yu2(=Qs
zSPOyRm?g0dK12Iv{?=gVX;EYBxp0i^!m~2hq!H{XAr}HU2Md~(mBal|VnG=3?4^V6
z;m5FgJ3rKuh=>R;AyE*E^8MLC0L6-renTe;)JIW4T1<Vg^##vt{UId=f0?X?rx;<W
z`<?JL7)aqhxwrv#1bLoJ$Rw7pIZ9O1KE&&UlxPCh16?7!e+uFS;8eEP`E+^Cl1;@F
zFIohH0a_Av+5$5eBp37|q&q1-KKK<S1cQMM)?yK1-_?MnQY4lU&fkgh53~zd_7IeN
zaQ{IP4>U#l2eFefBj^lL65)#y$FLW0T0)+;2Vjz#KC2=)pnzK!4u^IUmIdTuYgOQ$
zy<Fq`t3UH&87&HZM3mi}?>TTXBBQCM?Bl#0HiUDY5(F<T2!(zlrNLg24#j+1aLT|!
zk<?ap>V^f+^I>uvY(%1$ekA2m<wQl=?l|Xv|F_CN%c}d1@wb#iz`_r~rv?#LVlgr%
zAQAa9f)Csx6b!aj4<BW-1hs-rJi<~jT}*#Mbp0YM1IipM<QB7_36sQ9=KMYTGQV6r
z%0J=<V!(p37jBgK1U7pB4QLJy-w&0+D}tM!@jv8Ah1FM%#Gh5L%*w_7Sa3B^4|G(V
zYcKF4f>14<A06fVn+d+pyu{BZdC%K0<aT}lvF4A_-=B;e1eSIrjxoxd5<52j)N>n&
zCZNl3&o&2Pp&|-Y{m8l|u~1J!FBEHaw2)jx{_;1@FS|*8{v1F41^+`o=YP$dkDlmx
zlXL}@?dQ?Gl(ZyX^UFh|A{4wYWSV4aOPF>~vATlAwxo{gfd#QHXVhX@$X)~%Bg&6D
z6WITrsCh1$-4{hPJA3?15I9%f;_b)yVLFVfHZqGv$>ltMg11nHL`Q(QqtJax5sdY4
zc61cyU|C2m@;v%nJ!?ZSdpIwSN6#PSd86=Yl=Cz2p#w*F$J?Z&*!@r*Q{Y)rE<SQ|
z3iV`@$bTqfHRT!BAeCpBOUcE{Uu^7!Lf)P+`&{%mA41N5hV%SCK-wFP_P0lmL|&Vf
z2G#0Tu6^S(+;B1yqA#NCRiFxS2+%1;8Ks2TATT0lsKuhwUB7C#RPk)rqg}?zpSuQr
zRpc))=rQAC&R=imJs-esyzojmd@G)A>;F<72KqLlu!r8J>j=UK-N_&t6L;&3wDKnv
zvT5k9#*d_tFM`F!^5d>M05Ic@eU9^Yt>QbJzsdiUZSROxk||%HWiOVbxQD2$X)>TO
zh1{KPPUxUp8SaN(&qfjGkh)f}ki$_bw+I&3zWPseo4|6-b+5vFzA?Xq+3<IBAM?Xr
zNLi2F)A1nh?{vSBzO_xHwpf<Hh@yKQwuA7|M+Q$vWaOaK2516R$zSFGbcc9H*>!Kh
zdfvB;kMKHPD4cy=sDiDhWLjL+G%ZA@R6<)PdY(X#raL8pq1$psmtMpgPYNh7AP<YQ
z@i~Wuz;gKR;mTcY7LR=$P+YqMF%S6*d})8t`1D=*#UGgs4r$yN6WTVmMJVN@$g-G5
zU_^(wJL#I2?6m+&k({fFg*E^Z`Abb<3u5sYaD4B%W?5IEq_3cUxhw3Lj09`$tYb~k
z5UfyMMw;jh7Z!y31Xx6liCafSDpf4fs3>KuK>{5uhNTQsIp*4?3h#nr>=3Frf-r~`
zbzLDd>Cte2RuYpPlu_XO3w=S*^;e}%eS4)}k(bNetOZVTw)vkD=lb*<m}m@fz7MbW
zIe#DDfeONr8gla6lYqinU>UejWTcNNlm?Tf;BxAv>a0b6>k+|EVp%^(g8*f&SQeLy
zYafeV0T#r-voIg$q}Zu1QYaR(t<rh?bhW{>9+=e`prLFyQMtiv5y6I*wVk3IvtHbX
zChhrOSQph1#+xK681Z}bb|cbASFCwb+A$)WK!T8;6W1Z;YuX)4#9pl&p}sfhg5uqX
zEs^Chw#oanHcu=|$VC9a&(-~3%c}OcG=l2y3*;U`*j7mHy4r<PB9IZiVo~FQM9bI~
zImWvmSJqg<c4yh9E7fvrwNDC%)%pA_SZns9YGJpGs~(#AjXJ^fVykDj=zEj~&9@br
ze+eB`Ak@CitcYlO7V!aJiEFoK<&;fNH8wP?d~$tQGXS%a$zXhez86xkHeLGQyg>OM
zuq-gkcSHI=mWAc`{m5ln?HFBn{aWhxgT)!`idJ2*cKJE=<zp$|ptBog`udeo_<=K8
za_t)vAdC-<+;W}LO;m4<TtP18jt)(Xm+&Tr(vYC=>(pMfEFVkBo2{%ydwJ4Eb`y0*
z`5D(8;T>vx!j4}8Dz2Ue+Ys;Sh^n;iG~ahx<<QRnaV}9F9LoT|<zB~vNGQgUj85Cp
zi*9*nTwqD6wli`A6sH^)SjxQ1w$(GPt*RKdM0pS_L$}I^=BH1)Zkb<ldz0!Fb%5U}
zb2XVvUa|LGave2}>cyLU#C4ONTyVBtRBZ^Ah>Mp8!Ge@Z9d&zE$DQEmG9MXG`FK}y
znkP%8=p{Q2j9qG}bVj|!0iesnGC;5#!0AQ*;)VSOe->x)dP{tubY1244W1rP@|!pK
z#3<+P749VCr4c@A$N76BBmDX(PXov32=}mXR4+~Q0qB&Bd$GcPiPLH^hH9U%-62dk
zqVld$cc9lTtC!rH>UcRBRfin=^u?|-&OjUza&MlFCRGnhvMZV_m(+1^FQp{$kNDN~
z7ORwax-_bCIJPrA?`WGANdb~2II##L&h)IkpuWt)?%_WcEQ_}UbKy%HU}dg~?G9B4
lOTQVrSNS)aC7A6Alx6SHy(L`Od4LhPs{zXorSv|={tNl@jd}n8

literal 0
HcmV?d00001

diff --git a/VC++Files/winmysqladmin/images/mysql-17.bmp b/VC++Files/winmysqladmin/images/mysql-17.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..0291c804006fe21b4a643c42d9a8c537eb0efb78
GIT binary patch
literal 3806
zcmeH~yK>_;6o$e34TMCK5(!DB2$2>^Q8uL%nUtPX+oX5ta!Z$6x^%gv$}Ls8beYm+
zN>>>_Lf*jnLCM#dWY&}2nG}0wAc7$9orC`zz~f(k`;(E*e%1-8&^tq$qAA4g#<y<w
z*!?Ko2a+TSS*=#&^z@W``0#<8ot=^M^K)`>aX~IGFUe-JA=~Yi+}zxd+uK`mcXvnb
z@9)XO!vn@|Fn5c&x0rhe&JC%mEtnU8U!r|MyYA+0K7As8TwjyFuznYtP0srX`8`{a
zE7B($v}=-(TeSPrGjiF_$aTLWzaaLH_;yb+a&z^W+-|;*hl?w6b^eiTFR#eM=9+x|
zbOk>@?1utB6nL)!{C{gBWvYz6d33Elt*R>hmSCInc0EngS)NwuHw^fvx=vw5QKxei
zPX3Gao)`Db8YYUoR!7bAFnT8^?~-LS(iBC}AJ<Tytwp}b=WW|j*M_c1)Ag#-Uisnt
zML17idQsPH4eVKnnMk!Axz*>QC~^#`-GC<Q6e*NrweqyO>x5y5XYVyViu)K`&+B?t
z6vd*LRb5%Ns+3mfdcK&+_-JDYA=0$Wibej4>vH^&wCP|VIgZnL;@pqo2>ntB%oj$}
zBKum)B^DT?;gh1M4o!fU<!q5w&19VC>V9$epmrR`5giPNeQtxkCkHVCrtIhldp=ou
zOs%V`<&CU`DwWb^d3{(xie*-Ud&0Rj6ML>@Q#cHgFid*Ea5$j-A?U9BN_{x%F*aUh
zdE>e5x)$IzP&2P8T~5IMt3%+LEL)_qGcggqG~ZNEf07#{!9g4k`!e*QtjV6s;v^n0
z#;nrzkgHU3M`LISZkI4qa-nEbB3{Yu%+)p3WrkGVPm&-^TySD1iGxAh<3Siw2mvmo
zO#@BSdLeLZn^F|uOM<UM=R<TQw+np7CAMWUlVH;{Ov0YjB8<Z*rd|~FA$H^>(J<_J
zjV2{U!KUeaxh%2gYL|9!#UuAQUaoq+=IXYTDnP&iw21mi68D*l-zbWMFhc0fiAZZ%
z5;$ZAa&)xI5$EGl<PhSm4qUNZ)m5qHA?bk9gM%<~qBw~>)(hi+CeX!>g9cG83IVJ<
z29x7ek?!Oj&q{Q0@x0c7YpP;+x^K(O$umI@qS&U$Ti`Kdl1jb%R?^OL+%R>i@9u&L
zEBD;BklcOVp7rIn?)xBezmpq3ZZx!65Dz0yR&)q>GGJkp9Tj5Uj=j-rjY&Q`s=Hek
z8O&yBD(eiIzu>yEoL(5^)OIKfhy9+<!X)nbQ4%{|u=2`z>n@F4OdC!oY&EN8P8v~`
zBAw!ZH1PZ)Z!eH9x|CZuZ~K7dF=Rd~%VwP|P!I+t;x*5f5}QGDS;)=t1ZVuQexblW
z8|5KtnMZN#`ivgsxOR#Kb}d)X<9x9&iXtmTEtRp38IzGucR19+zZng1Pq^~x!49&r
z%rc?X^X|qQ!%v6RB$k>hb_^Hw{%$Z$Y?zvs&u!0x)V^u@Hhfto^)1`>x^xEp-QBrf
zo1<pD-y-E>yc<okuaHS+?e2}+#85q5!$H<`n|R#N3|n)!rNE(TDjk+S*2-JasP}f{
zY45hi3`3<%a}3QSrmG-G96rT#ENnt~yoR6Ve{IKAsAXs#Q%u!SG~Ll`M|Bn7fCng|
zy(z-4rDC3<DYmUBngb;a$B<o@sCX!zivPggL3%ya^>CGWj_<qN_qe<3y1wst+;bgS
Ss^7t=JW}7o9xLI!?7sm#*hkj@

literal 0
HcmV?d00001

diff --git a/VC++Files/winmysqladmin/images/mysql.BMP b/VC++Files/winmysqladmin/images/mysql.BMP
new file mode 100644
index 0000000000000000000000000000000000000000..ed5c7f9051ffb1a255ab4b637559c09ccb3c4a22
GIT binary patch
literal 8760
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
CzIb;4

literal 0
HcmV?d00001

diff --git a/VC++Files/winmysqladmin/images/red.ico b/VC++Files/winmysqladmin/images/red.ico
new file mode 100644
index 0000000000000000000000000000000000000000..b28288d576e1416391102cc7333a4eece5c65a2e
GIT binary patch
literal 766
zcmc(cF;c`Z3`NB*Gp2)zI^zaPW?ay6B+b%Ly4!FAa+@57GB?OR*;ed=9wl;YKUw-#
zMDBQ|>51`PeorFLBJzq)_y=zLW*PRkWgsNy`e9^>XIa-3u$Nc%-DWtCZP~imCh}Nk
zbtI^fiWM6If>{p`)fiQMLnNGHd<iWDxxoaq8l(=khL;n3oZFi4&Z)UkNiQ)@N*U8&
zoCIvU#?9mn0^uojf#m;8>5cmJGMrBs=gXC>zOCV|$GPh{c+(TkDZL}h^(X<{|Iib{
zJcm%STS?KcWyxcIzL(`^=nt5HuIItl*RIF8>p6JSqn2;%4*}QS9|X*^YPr3)z<)SJ
G{?%^KRSu>A

literal 0
HcmV?d00001

diff --git a/VC++Files/winmysqladmin/images/red22.BMP b/VC++Files/winmysqladmin/images/red22.BMP
new file mode 100644
index 0000000000000000000000000000000000000000..a35052afa012614102a613e2d516d1ae6b4a13c0
GIT binary patch
literal 2104
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
E0u5V*i2wiq

literal 0
HcmV?d00001

diff --git a/VC++Files/winmysqladmin/images/see.bmp b/VC++Files/winmysqladmin/images/see.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..72fb2c50ec6d22e11180b3158e3da7551b754659
GIT binary patch
literal 644
zcmaKoF>ZuF3`M;t+I0~@jzBqQNSSh_++nMbCen&xlnPlCo2iy7<R)-{9D)v%B6TVz
z-v%X1ku{95=Y4+$9v*!{79QDQ<;&X84XSnAt=g6dH?{5jKt@Sj*O7<-M7t?Qt*~(E
zmZqzb^=mw>`|OKXeCp-0zk)dgxxkD$mcMDU;l+Gc@WE_tm$u&Xla-dZC=RD*CzO)u
zcitaQb^Y6W@Zg*y>WvqnI@XA#-}<+qSDuG4;8f{rHFGgP-VMVrGI&2liILN)Dr?5P
zG(ke6e8enx{LW?$2!RAB8Ybl~x9`ROW-8SH$D=G5XNNaH0cbp_&n8f+^8^9h;XQMr
iq$-7t8YhjJs=vkU#}fbavr6*|(Ys6b<TiWyy#E1@_^8tW

literal 0
HcmV?d00001

diff --git a/VC++Files/winmysqladmin/initsetup.cpp b/VC++Files/winmysqladmin/initsetup.cpp
new file mode 100644
index 00000000000..0a25b8cb79c
--- /dev/null
+++ b/VC++Files/winmysqladmin/initsetup.cpp
@@ -0,0 +1,40 @@
+//---------------------------------------------------------------------------
+#include <vcl.h>
+#pragma hdrstop
+
+#include "initsetup.h"
+#include "main.h"
+//---------------------------------------------------------------------------
+#pragma package(smart_init)
+#pragma resource "*.dfm"
+TForm2 *Form2;
+//---------------------------------------------------------------------------
+__fastcall TForm2::TForm2(TComponent* Owner)
+        : TForm(Owner)
+{
+}
+//---------------------------------------------------------------------------
+void __fastcall TForm2::BitBtn1Click(TObject *Sender)
+{
+ if ((Edit1->Text).IsEmpty() || (Edit2->Text).IsEmpty())
+  Application->MessageBox("Fill the User name and Password text boxs ", "Winmysqladmin 1.0", MB_OK |MB_ICONINFORMATION);
+ else
+  {
+    Form1->GetServerFile();
+    Form1->CreateMyIniFile();
+    Form1->CreatingShortCut();
+
+    Close();
+  }        
+}
+//---------------------------------------------------------------------------
+void __fastcall TForm2::BitBtn2Click(TObject *Sender)
+{
+ Close();        
+}
+//---------------------------------------------------------------------------
+void __fastcall TForm2::SpeedButton1Click(TObject *Sender)
+{
+ Application->HelpCommand(HELP_FINDER,0);              
+}
+//---------------------------------------------------------------------------
diff --git a/VC++Files/winmysqladmin/initsetup.h b/VC++Files/winmysqladmin/initsetup.h
new file mode 100644
index 00000000000..28f575198e3
--- /dev/null
+++ b/VC++Files/winmysqladmin/initsetup.h
@@ -0,0 +1,38 @@
+//---------------------------------------------------------------------------
+#ifndef initsetupH
+#define initsetupH
+//---------------------------------------------------------------------------
+#include <Classes.hpp>
+#include <Controls.hpp>
+#include <StdCtrls.hpp>
+#include <Forms.hpp>
+#include <Buttons.hpp>
+#include <ExtCtrls.hpp>
+#include <Graphics.hpp>
+//---------------------------------------------------------------------------
+class TForm2 : public TForm
+{
+__published:	// IDE-managed Components
+        TImage *Image1;
+        TLabel *Label1;
+        TLabel *Label4;
+        TPanel *Panel1;
+        TLabel *Label5;
+        TLabel *Label6;
+        TLabel *Label2;
+        TEdit *Edit1;
+        TEdit *Edit2;
+        TBitBtn *BitBtn1;
+        TSpeedButton *SpeedButton1;
+        TBitBtn *BitBtn2;
+        void __fastcall BitBtn1Click(TObject *Sender);
+        void __fastcall BitBtn2Click(TObject *Sender);
+        void __fastcall SpeedButton1Click(TObject *Sender);
+private:	// User declarations
+public:		// User declarations
+        __fastcall TForm2(TComponent* Owner);
+};
+//---------------------------------------------------------------------------
+extern PACKAGE TForm2 *Form2;
+//---------------------------------------------------------------------------
+#endif
diff --git a/VC++Files/winmysqladmin/main.cpp b/VC++Files/winmysqladmin/main.cpp
new file mode 100644
index 00000000000..6ca29659255
--- /dev/null
+++ b/VC++Files/winmysqladmin/main.cpp
@@ -0,0 +1,2529 @@
+//---------------------------------------------------------------------------
+#include <vcl.h>
+#pragma hdrstop
+
+#include "main.h"
+#include "initsetup.h"
+#include "db.h"
+
+//---------------------------------------------------------------------------
+#pragma package(smart_init)
+#pragma resource "*.dfm"
+#include <shellapi.h>
+#include <registry.hpp>
+#include <winsvc.h>
+#include <winsock.h>
+#include <shlobj.h>
+#include <IniFiles.hpp>
+#include <dir.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <deque.h>
+#include <vector.h>
+#include <fstream.h>
+#include <iostream.h>
+#include <iterator.h>
+#include <sstream.h>
+#include "mysql.h"
+#include <Printers.hpp>
+
+TForm1 *Form1;
+bool i_start, NT;
+bool IsForce = false;
+bool IsVariables = false;
+bool IsProcess  = false ;
+bool IsDatabases = false;
+bool new_line = 0;
+bool ya = true;
+bool yy = true;
+bool rinit = false;
+AnsiString vpath;
+AnsiString vip;
+MYSQL_RES *res_1;
+static unsigned long q = 0;
+bool preport = false;
+bool treport = false;
+bool ereport = false;
+AnsiString mainroot;
+bool IsMySQLNode = false;
+MYSQL *MySQL;
+//---------------------------------------------------------------------------
+__fastcall TForm1::TForm1(TComponent* Owner)
+        : TForm(Owner)
+{
+}
+//---------------------------------------------------------------------------
+void __fastcall TForm1::FormCreate(TObject *Sender)
+{
+  i_start = true;
+  IsConnect = false;
+ if (ParamCount() > 0){
+   if (ParamStr(1) == "-h" || ParamStr(1) == "h" ) {
+     ShowHelp();  Application->Terminate();  }
+   else if (ParamStr(1) == "-w" || ParamStr(1) == "w") {
+     i_start = false;  ContinueLoad();   }
+  }
+ else {
+   ContinueLoad();  Hide(); GetServerOptions(); }
+}
+//---------------------------------------------------------------------------
+void __fastcall TForm1::DrawItem(TMessage& Msg)
+{
+   IconDrawItem((LPDRAWITEMSTRUCT)Msg.LParam);
+   TForm::Dispatch(&Msg);
+}
+//---------------------------------------------------------------------------
+void __fastcall TForm1::MyNotify(TMessage& Msg)
+{
+ POINT MousePos;
+
+ switch(Msg.LParam) {
+  case WM_RBUTTONUP:
+    if (GetCursorPos(&MousePos)){
+       PopupMenu1->PopupComponent = Form1; SetForegroundWindow(Handle);
+       PopupMenu1->Popup(MousePos.x, MousePos.y);}
+    else  Show();
+    break;
+  case WM_LBUTTONUP:
+    if (GetCursorPos(&MousePos)){
+       PopupMenu1->PopupComponent = Form1; SetForegroundWindow(Handle);
+       PopupMenu1->Popup(MousePos.x, MousePos.y); }
+
+    ToggleState();
+     break;
+  default:
+     break; }
+
+ TForm::Dispatch(&Msg);
+}
+//---------------------------------------------------------------------------
+bool __fastcall TForm1::TrayMessage(DWORD dwMessage)
+{
+ NOTIFYICONDATA tnd;
+ PSTR pszTip;
+
+ pszTip = TipText();
+
+ tnd.cbSize          = sizeof(NOTIFYICONDATA);
+ tnd.hWnd            = Handle;
+ tnd.uID             = IDC_MYICON;
+ tnd.uFlags          = NIF_MESSAGE | NIF_ICON | NIF_TIP;
+ tnd.uCallbackMessage	= MYWM_NOTIFY;
+
+ if (dwMessage == NIM_MODIFY){
+   tnd.hIcon	= IconHandle();
+   if (pszTip)lstrcpyn(tnd.szTip, pszTip, sizeof(tnd.szTip));
+   else tnd.szTip[0] = '\0'; }
+ else { tnd.hIcon = NULL; tnd.szTip[0] = '\0'; }
+
+ return (Shell_NotifyIcon(dwMessage, &tnd));
+}
+//---------------------------------------------------------------------------
+HANDLE __fastcall TForm1::IconHandle(void)
+{
+
+ if (!NT){
+   if (MySQLSignal()){Image3->Visible = false; Image2->Visible = true;
+          return (Image2->Picture->Icon->Handle); }
+   else              {Image2->Visible = false; Image3->Visible = true;
+          return (Image3->Picture->Icon->Handle); }
+    }
+ else   {
+   if (TheServiceStatus()){Image3->Visible = false; Image2->Visible = true;
+          return (Image2->Picture->Icon->Handle); }
+
+   else if (MySQLSignal()){Image3->Visible = false; Image2->Visible = true;
+          return (Image2->Picture->Icon->Handle); }
+   else                   {Image2->Visible = false; Image3->Visible = true;
+          return (Image3->Picture->Icon->Handle); }
+    }
+
+}
+//---------------------------------------------------------------------------
+void __fastcall TForm1::ToggleState(void)
+{
+
+ TrayMessage(NIM_MODIFY);
+ if (!NT){
+   if (MySQLSignal()){SSW9->Caption = "ShutDown the Server";
+                     Image3->Visible = false; Image2->Visible = true; }
+   else              {SSW9->Caption = "Start the Server";
+                     Image2->Visible = false; Image3->Visible = true; }
+         }
+ else    {
+   if (TheServiceStart()) {
+      Standa->Enabled = false;
+      if (TheServiceStatus()) {RService->Enabled = false;
+                     StopS->Enabled = true;
+                     StopS->Caption = "Stop the Service";
+                     Image3->Visible = false;
+                     Image2->Visible = true; }
+      else                    {RService->Enabled = true;
+                     StopS->Enabled = true;
+                     RService->Caption = "Remove the Service";
+                     StopS->Caption = "Start the Service";
+                     Image2->Visible = false;
+                     Image3->Visible = true; }
+                          }
+    else                  {
+       Standa->Enabled = true;
+       StopS->Enabled = false;
+       if (MySQLSignal()) {
+                     RService->Enabled = false;
+                     Standa->Caption = "ShutDown the Server Standalone";
+                     Image3->Visible = false;
+                     Image2->Visible = true; }
+
+       else               {
+                     RService->Enabled = true;
+                     RService->Caption = "Install the Service";
+                     Standa->Caption = "Start the Server Standalone";
+                     Image2->Visible = false;
+                     Image3->Visible = true; }
+
+                           }
+
+
+          }
+
+}
+//---------------------------------------------------------------------------
+PSTR __fastcall TForm1::TipText(void)
+{
+  char* status = StatusLine->SimpleText.c_str();
+  return status;
+
+}
+//---------------------------------------------------------------------------
+void __fastcall TForm1::WMQueryEndSession(TWMQueryEndSession &msg)
+{
+
+
+  if (!NT) {
+
+    if (MySQLSignal()){
+                        StatusLine->SimpleText = "Shutdown in progress.....";
+                        Show(); Shutd();  msg.Result = 1; }
+    else              {
+                        StatusLine->SimpleText = "The Server already is down......";
+                        Show();  msg.Result = 1;  Close(); }
+           }
+  else     {
+
+    Show();
+    if                 (!TheServiceStart())  { if (MySQLSignal()) Shutd();   }
+                        msg.Result = 1;
+           }
+
+}
+
+//---------------------------------------------------------------------------
+LRESULT IconDrawItem(LPDRAWITEMSTRUCT lpdi)
+{
+   HICON hIcon;
+
+   hIcon = (HICON)LoadImage(g_hinst, MAKEINTRESOURCE(lpdi->CtlID), IMAGE_ICON,
+		16, 16, 0);
+   if (!hIcon)
+   	return(false);
+
+   DrawIconEx(lpdi->hDC, lpdi->rcItem.left, lpdi->rcItem.top, hIcon,
+		16, 16, 0, NULL, DI_NORMAL);
+
+   return(true);
+}
+//---------------------------------------------------------------------------
+AnsiString __fastcall TForm1::TheComputer()
+{
+  AnsiString theword;
+  DWORD dwSize = MAX_COMPUTERNAME_LENGTH + 1;
+  char szBuf[MAX_COMPUTERNAME_LENGTH + 1];
+  szBuf[0] = '\0';
+
+  GetComputerName(szBuf, &dwSize);
+  theword = (AnsiString) szBuf;
+  delete [] szBuf;
+  return theword;
+
+}
+//---------------------------------------------------------------------------
+AnsiString __fastcall TForm1::TheOS()
+{
+  AnsiString theword;
+  OSVERSIONINFO info;
+  info.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
+  GetVersionEx(&info);
+
+  switch (info.dwPlatformId)
+    {
+      case VER_PLATFORM_WIN32s:
+        NT = false;
+        theword = "Win32s detected";
+        break;
+      case VER_PLATFORM_WIN32_WINDOWS:
+        NT = false;
+        theword = "Win 95 or Win 98 detected";
+        break;
+      case VER_PLATFORM_WIN32_NT:
+        NT = true;
+        theword = "Windows NT detected";
+        break;
+     }
+     return theword;
+}
+///---------------------------------------------------------------------------
+AnsiString __fastcall TForm1::TheUser()
+{
+  AnsiString theword;
+  DWORD dwSize = 0;
+
+  GetUserName(NULL, &dwSize);
+
+  char *szBuf = new char[dwSize];
+  szBuf[0] = '\0';
+
+  GetUserName(szBuf, &dwSize);
+  theword = (AnsiString) szBuf;
+  delete [] szBuf;
+  return theword;
+
+}
+//---------------------------------------------------------------------------
+void __fastcall TForm1::TakeIP(void)
+{
+  WORD wVersionRequested;
+  WSADATA WSAData;
+  wVersionRequested = MAKEWORD(1,1);
+  WSAStartup(wVersionRequested,&WSAData);
+
+  hostent *P;
+  char s[128];
+  in_addr in;
+  char *P2;
+  gethostname(s, 128);
+  P = gethostbyname(s);
+
+  Memo2->Lines->Clear();
+  Memo2->Lines->Add((AnsiString)P->h_name);
+  mainroot = P->h_name;
+  in.S_un.S_un_b.s_b1 = P->h_addr_list[0][0];
+  in.S_un.S_un_b.s_b2 = P->h_addr_list[0][1];
+  in.S_un.S_un_b.s_b3 = P->h_addr_list[0][2];
+  in.S_un.S_un_b.s_b4 = P->h_addr_list[0][3];
+  P2 = inet_ntoa(in);
+  vip = P2;
+  mainroot += " ( " + (AnsiString)P2 + " )";
+  Memo2->Lines->Add(P2);
+
+}
+//---------------------------------------------------------------------------
+void __fastcall TForm1::GetmemStatus(void)
+{
+  MEMORYSTATUS ms;
+  ms.dwLength = sizeof(MEMORYSTATUS);
+  GlobalMemoryStatus(&ms);
+
+  Edit2->Text = AnsiString((double)ms.dwTotalPhys / 1024000.0) + " MB RAM";
+}
+
+//---------------------------------------------------------------------------
+void __fastcall TForm1::ShowHelp(void)
+{
+   Application->MessageBox("Usage: WinMySQLadmin.EXE [OPTIONS]\n\n-w    Run the tool without start the Server.\n-h        Shows this message and exit ", "WinMySQLadmin 1.0", MB_OK |MB_ICONINFORMATION);
+}
+//---------------------------------------------------------------------------
+void __fastcall TForm1::ContinueLoad(void)
+{
+ OS->Text = TheOS();
+ Localhost->Text = TheComputer();
+ Localuser->Text = TheUser();
+ GetmemStatus();
+ ClearBox();
+ TakeIP();
+ MyODBC();
+
+
+ IsMyIniUp();
+
+ if (!NT) { WinNT->Enabled = false; NtVer->Enabled = false; Win9->Enabled  = true; }
+ else     { WinNT->Enabled = true;   Win9->Enabled  = false;   }
+
+ if (i_start)
+   {
+     // NT never is started from the prompt
+     if ((!NT) && (!MySQLSignal())) mysqldstart();
+      {
+       TrayMessage(NIM_MODIFY);
+       SeekErrFile();
+      }
+   }
+  Hide();
+
+}
+
+//---------------------------------------------------------------------------
+void __fastcall TForm1::MyODBC(void)
+{
+
+  TRegistry *Registry = new TRegistry();
+  Memo3->Lines->Clear();
+
+  try
+   {
+     Registry->RootKey = HKEY_LOCAL_MACHINE;
+     // the basic data of myodbc
+     if (Registry->OpenKey("Software\\ODBC\\ODBCINST.INI\\MySQL", false))
+       {
+         Memo3->Lines->Add("Driver Version\t" + Registry->ReadString("DriverODBCVer"));
+         Memo3->Lines->Add("Driver\t\t" + Registry->ReadString("Driver"));
+         Memo3->Lines->Add("API Level\t\t" + Registry->ReadString("APILevel"));
+         Memo3->Lines->Add("Setup\t\t" + Registry->ReadString("Setup"));
+         Memo3->Lines->Add("SQL Level\t" + Registry->ReadString("SQLLevel"));
+       }
+      else
+         Memo3->Lines->Add("Not Found");
+
+   }
+  catch (...)
+   {
+    delete Registry;
+   }
+   Memo3->Enabled = false;
+}
+//---------------------------------------------------------------------------
+
+void __fastcall TForm1::IsMyIniUp(void)
+{
+  // we see if the my.ini is Up
+ AnsiString asFileName = FileSearch("my.ini", TheWinDir());
+ if (asFileName.IsEmpty())
+   {
+     IsForce = true;
+     i_start = false;
+     QuickSearch();
+   }
+ else
+   {
+     Memo1->Enabled = true;
+     Memo1->Lines->Clear();
+     FillMyIni();
+     GetBaseDir();
+   }
+}
+//---------------------------------------------------------------------------
+void __fastcall TForm1::QuickSearch(void)
+{
+ AnsiString asFileName = FileSearch("mysql.exe", "c:/mysql/bin");
+ if (!asFileName.IsEmpty())
+  BaseDir->Text = "c:/mysql";
+}
+//---------------------------------------------------------------------------
+AnsiString __fastcall TForm1::TheWinDir()
+{
+  AnsiString WinDir;
+  UINT       BufferSize = GetWindowsDirectory(NULL,0);
+  WinDir.SetLength(BufferSize+1);
+  GetWindowsDirectory(WinDir.c_str(),BufferSize);
+  char* dirw = WinDir.c_str();
+  return dirw ;
+
+}
+//---------------------------------------------------------------------------
+void __fastcall TForm1::FillMyIni(void)
+{
+ Memo1->Lines->LoadFromFile(TheWinDir() + "\\my.ini");
+
+}
+//---------------------------------------------------------------------------
+void __fastcall TForm1::GetBaseDir(void)
+{
+
+ char drive[_MAX_DRIVE];
+ char dir[_MAX_DIR];
+ char file[_MAX_FNAME];
+ char ext[_MAX_EXT];
+
+
+ TIniFile *pIniFile = new
+ TIniFile(TheWinDir() + "\\my.ini");
+
+ BaseDir->Text = pIniFile->ReadString("mysqld","basedir","")  ;
+ AnsiString lx = pIniFile->ReadString("WinMySQLadmin","Server","")  ;
+ _splitpath((lx).c_str(),drive,dir,file,ext);
+ AnsiString lw = (AnsiString) file + ext;
+
+ if ( lw == "mysqld-shareware.exe") {ShareVer->Checked = true;}
+ if ( lw == "mysqld.exe") {MysqldVer->Checked = true;}
+ if ( lw == "mysqld-opt.exe") {OptVer->Checked = true;}
+ if ( lw == "mysqld-nt.exe") {NtVer->Checked = true;}
+
+ delete pIniFile;
+
+}
+//---------------------------------------------------------------------------
+void __fastcall TForm1::Showme1Click(TObject *Sender)
+{
+ if(Showme1->Caption == "Show me")  {  TrayMessage(NIM_DELETE);
+       Showme1->Caption = "Hide me";  Show();  }
+  else  { TrayMessage(NIM_ADD);  TrayMessage(NIM_MODIFY);
+       Showme1->Caption = "Show me";  Hide();  }
+}
+//---------------------------------------------------------------------------
+bool __fastcall TForm1::MySQLSignal()
+{
+  HANDLE hEventShutdown;
+  hEventShutdown=OpenEvent(EVENT_MODIFY_STATE, 0, "MySqlShutdown");
+
+  if(hEventShutdown)
+    {
+      CloseHandle(hEventShutdown);
+      return true;
+    }
+  else
+    {
+     CloseHandle(hEventShutdown);
+     return false;
+    }
+
+}
+
+//---------------------------------------------------------------------------
+bool __fastcall TForm1::mysqldstart()
+{
+    memset(&pi, 0, sizeof(pi));
+    memset(&si, 0, sizeof(si));
+    si.cb = sizeof(si);
+    si.dwFlags |= STARTF_USESHOWWINDOW;
+    si.wShowWindow |= SW_SHOWNORMAL;
+
+
+    TIniFile *pIniFile = new
+    TIniFile(TheWinDir() + "\\my.ini");
+
+    if (NT)
+     vpath =   pIniFile->ReadString("WinMySQLadmin","Server","") + " --standalone\0" ;
+    else
+      vpath =   pIniFile->ReadString("WinMySQLadmin","Server","") + "\0" ;
+
+    if ( ! CreateProcess(0,vpath.c_str(), 0, 0, 0, 0, 0, 0, &si,&pi))
+     {
+       TrayMessage(NIM_MODIFY);
+       return false;
+     }
+    else
+      {
+        TrayMessage(NIM_MODIFY);
+        return true;
+
+      }
+
+}
+
+//---------------------------------------------------------------------------
+bool __fastcall TForm1::SeekErrFile()
+{
+  Memo4->Enabled = true;
+  Memo4->Lines->Clear();
+  AnsiString asFileName = FileSearch("mysql.err", BaseDir->Text + "/data");
+  if (!asFileName.IsEmpty())
+   {
+     FName = BaseDir->Text + "/data/mysql.err";
+     ifstream in((FName).c_str());
+     in.seekg(0, ios::end);
+     string s, line;
+     deque<string> v;
+     deque<string> lines;
+     streampos sp = in.tellg();
+     if (sp <= 1000)
+      in.seekg(0, ios::beg);
+    else
+     {
+      in.seekg(0, ios::beg);
+      in.seekg((sp - 1000));
+     }
+
+     do {
+          lines.push_back(line);
+     }while (getline(in, line));
+
+
+     if( lines.size() <= 15)
+      {
+        deque<string>::reverse_iterator r;
+        for(r = lines.rbegin(); r != lines.rend() ; r++)
+         {
+          if (ereport)
+           Memo5->Lines->Add((*r).c_str());
+           Memo4->Lines->Add((*r).c_str());
+
+         }
+      }
+     else
+      {
+        int k = 0;
+        deque<string>::reverse_iterator r;
+        for(r = lines.rbegin(); r != lines.rend(); r++)
+         {
+           if (ereport)
+           Memo5->Lines->Add((*r).c_str());
+           Memo4->Lines->Add((*r).c_str());
+           if (++k >= 15) { break;}
+         }
+      }
+      in.close();
+      return true;
+   }
+  else
+    return false;
+
+}
+
+//---------------------------------------------------------------------------
+void __fastcall TForm1::Timer1Timer(TObject *Sender)
+{
+ Showme1->Caption = "Show me";
+  TrayMessage(NIM_ADD);
+  TrayMessage(NIM_MODIFY);
+  Hide();
+  if (IsForce) {Form2->Show();}
+  Timer1->Enabled = false;
+}
+//---------------------------------------------------------------------------
+void __fastcall TForm1::GetServerFile()
+{
+
+  AnsiString FileName;
+
+ if(!NT) {
+   FileName =  FileSearch("mysqld-opt.exe", ExtractFilePath(Application->ExeName));
+   if (FileName.IsEmpty())  FileName =  FileSearch("mysqld.exe", ExtractFilePath(Application->ExeName));
+   if (FileName.IsEmpty())    FileName =  FileSearch("mysqld-shareware.exe", ExtractFilePath(Application->ExeName));
+
+   if (!FileName.IsEmpty()){
+      if ( FileName == "mysqld-opt.exe") {OptVer->Checked = true;}
+      if ( FileName == "mysqld.exe") {MysqldVer->Checked= true;}
+      if ( FileName == "mysqld-shareware.exe") {ShareVer->Checked= true;} }
+
+  }
+ else {
+
+   FileName =  FileSearch("mysqld-nt.exe", ExtractFilePath(Application->ExeName));
+   if (FileName.IsEmpty())  FileName =  FileSearch("mysqld.exe", ExtractFilePath(Application->ExeName));
+   if (FileName.IsEmpty())  FileName =  FileSearch("mysqld-shareware.exe", ExtractFilePath(Application->ExeName));
+
+   if (!FileName.IsEmpty()) {
+      if ( FileName == "mysqld-nt.exe") {NtVer->Checked = true;}
+      if ( FileName == "mysqld.exe") {MysqldVer->Checked= true;}
+      if ( FileName == "mysqld-shareware.exe") {ShareVer->Checked= true;} }
+
+     }
+}
+//---------------------------------------------------------------------------
+void __fastcall TForm1::CreateMyIniFile(void)
+{
+  char szFileName[6];
+  int iFileHandle;
+  AnsiString jk;
+
+  Memo1->Enabled = true;
+  Memo1->Lines->Clear();
+  strcpy(szFileName,"\\my.ini");
+  iFileHandle = FileCreate(TheWinDir() + szFileName );
+
+  jk = "#This File was made using the WinMySQLadmin 1.0 Tool\n" ;
+  FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
+
+  jk = "#" + Now() + "\n\n" ;
+  FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
+
+  jk = "#Uncomment or Add only the keys that you know how works.\n" ;
+  FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
+
+  jk = "#Read the MySQL Manual for instructions\n\n" ;
+  FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
+
+
+  jk = "[mysqld]\n\n" ;
+  FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
+
+   jk = "basedir=" + TheDir() + "\n";
+    FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
+
+    jk = "#bind-address=" + vip + "\n" ;
+    FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
+
+    jk = "#datadir=" + TheDir() + "/data\n" ;
+    FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
+
+    jk = "#language=" + TheDir() + "/share/your language directory\n" ;
+    FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
+
+    jk = "#delay-key-write-for-all-tables\n" ;
+    FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
+
+    jk = "#log-long-format\n" ;
+    FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
+
+    jk = "#slow query log=#\n" ;
+    FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
+
+    jk = "#tmpdir=#\n" ;
+    FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
+
+    jk = "#ansi\n" ;
+    FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
+
+    jk = "#new\n" ;
+    FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
+
+    jk = "#port=3306\n" ;
+    FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
+
+    jk = "#safe\n" ;
+    FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
+
+    jk = "#skip-name-resolve\n" ;
+    FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
+
+    jk = "#skip-networking\n" ;
+    FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
+
+    jk = "#skip-new\n" ;
+    FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
+
+    jk = "#skip-host-cache\n" ;
+    FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
+
+    jk = "#set-variable = key_buffer=16M\n" ;
+    FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
+
+    jk = "#set-variable = max_allowed_packet=1M\n" ;
+    FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
+
+    jk = "#set-variable = thread_stack=128K\n" ;
+    FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
+
+    jk = "#set-variable = flush_time=1800\n\n" ;
+    FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
+
+  jk = "[mysqldump]\n\n" ;
+  FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
+
+  jk = "#quick\n" ;
+  FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
+
+  jk = "#set-variable = max_allowed_packet=16M\n\n" ;
+  FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
+
+  jk = "[mysql]\n\n" ;
+  FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
+
+  jk = "#no-auto-rehash\n\n" ;
+  FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
+
+  jk = "[isamchk]\n\n" ;
+  FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
+
+  jk = "#set-variable= key=16M\n\n" ;
+  FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
+
+  jk = "[WinMySQLadmin]\n\n" ;
+  FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
+
+
+  if (ShareVer->Checked) { jk = "Server=" + TheDir() + "/bin/mysqld-shareware.exe\n\n";}
+  if (MysqldVer->Checked) {jk = "Server=" + TheDir() + "/bin/mysqld.exe\n\n";}
+  if (OptVer->Checked) {jk = "Server=" + TheDir() + "/bin/mysqld-opt.exe\n\n";}
+  if (NtVer->Checked) {jk = "Server=" + TheDir() + "/bin/mysqld-nt.exe\n\n";}
+  FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
+
+  jk = "user=" + Form2->Edit1->Text + "\n" ;
+  FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
+
+  jk = "password=" + Form2->Edit2->Text + "\n" ;
+  FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
+
+  FileClose(iFileHandle);
+  FillMyIni();
+
+}
+
+//---------------------------------------------------------------------------
+bool __fastcall TForm1::CreatingShortCut()
+{
+  // Where is The Start Menu in this Machine ?
+  LPITEMIDLIST  pidl;
+  LPMALLOC      pShellMalloc;
+  char          szDir[MAX_PATH + 16];
+  AnsiString file;
+  AnsiString jk = "\\WinMySQLadmin.lnk" ;
+
+  if(SUCCEEDED(SHGetMalloc(&pShellMalloc)))
+   {
+     if(SUCCEEDED(SHGetSpecialFolderLocation(NULL,
+          CSIDL_STARTUP, &pidl)))
+      {
+        if(!SHGetPathFromIDList(pidl, szDir))
+          {
+            pShellMalloc->Release();
+            pShellMalloc->Free(pidl);
+            return false;
+           }
+
+          pShellMalloc->Free(pidl);
+       }
+
+        pShellMalloc->Release();
+        StrCat(szDir, jk.c_str());
+    }
+
+ // the create
+
+ IShellLink* pLink;
+ IPersistFile* pPersistFile;
+
+ if(SUCCEEDED(CoInitialize(NULL)))
+   {
+     if(SUCCEEDED(CoCreateInstance(CLSID_ShellLink, NULL,
+                     CLSCTX_INPROC_SERVER,
+                     IID_IShellLink, (void **) &pLink)))
+       {
+
+         pLink->SetPath((ExtractFilePath(Application->ExeName) + "WinMySQLadmin.exe").c_str());
+         pLink->SetDescription("WinMySQLadmin Tool");
+         pLink->SetShowCmd(SW_SHOW);
+
+            if(SUCCEEDED(pLink->QueryInterface(IID_IPersistFile,
+                                               (void **)&pPersistFile)))
+            {
+
+                WideString strShortCutLocation(szDir);
+                pPersistFile->Save(strShortCutLocation.c_bstr(), TRUE);
+                pPersistFile->Release();
+            }
+               pLink->Release();
+        }
+
+        CoUninitialize();
+    }
+
+
+  return true;
+}
+
+//---------------------------------------------------------------------------
+AnsiString __fastcall TForm1::TheDir()
+{
+ AnsiString buffer;
+ char s[_MAX_PATH + 1];
+
+ StrCopy(s, ( BaseDir->Text).c_str()) ;
+
+ for (int i = 0; s[i] != NULL; i++)
+  if (s[i] != '\\')
+    buffer += s[i];
+  else
+    buffer += "/";
+
+ return buffer;
+
+}
+
+//---------------------------------------------------------------------------
+void __fastcall TForm1::SpeedButton1Click(TObject *Sender)
+{
+ Application->HelpCommand(HELP_FINDER,0);
+}
+//---------------------------------------------------------------------------
+
+void __fastcall TForm1::Timer2Timer(TObject *Sender)
+{
+ ToggleState();
+
+}
+//---------------------------------------------------------------------------
+bool __fastcall TForm1::TheServiceStart()
+{
+  bool thatok;
+  char *SERVICE_NAME = "MySql";
+  SC_HANDLE myService, scm;
+  scm = OpenSCManager(0, 0, SC_MANAGER_ALL_ACCESS | GENERIC_WRITE);
+  if (scm)
+   {
+     myService = OpenService(scm, SERVICE_NAME, SERVICE_ALL_ACCESS);
+     if (myService)
+      thatok = true;
+     else
+      thatok = false;
+   }
+   CloseServiceHandle(myService);
+   CloseServiceHandle(scm);
+   return thatok;
+}
+
+//---------------------------------------------------------------------------
+bool __fastcall TForm1::TheServicePause()
+{
+
+  bool thatok;
+  char *SERVICE_NAME = "MySql";
+  SC_HANDLE myService, scm;
+  scm = OpenSCManager(0, 0, SC_MANAGER_ALL_ACCESS);
+
+  if (scm)
+    {
+       myService = OpenService(scm, SERVICE_NAME, SERVICE_ALL_ACCESS);
+       if (myService)
+         {
+           // stop the service
+           if (IsConnect)
+            {
+               mysql_kill(MySQL,mysql_thread_id(MySQL));
+               StatusLine->SimpleText = "";
+               q = 0;
+            }
+
+
+            SERVICE_STATUS ss;
+            thatok = ControlService(myService,
+                            SERVICE_CONTROL_STOP,
+                            &ss);
+
+         }
+       else
+       thatok = false;
+    }
+   else
+      thatok = false;
+
+   CloseServiceHandle(myService);
+   CloseServiceHandle(scm);
+   return thatok;
+}
+//---------------------------------------------------------------------------
+bool __fastcall TForm1::TheServiceResume()
+{
+
+  bool thatok;
+  char *SERVICE_NAME = "MySql";
+  SC_HANDLE myService, scm;
+  scm = OpenSCManager(0, 0, SC_MANAGER_ALL_ACCESS);
+
+  if (scm)
+    {
+       myService = OpenService(scm, SERVICE_NAME, SERVICE_ALL_ACCESS);
+       if (myService)
+         {
+           // start the service
+
+            thatok = StartService(myService, 0, NULL);
+         }
+       else
+        thatok = false;
+    }
+   else
+      thatok = false;
+
+   CloseServiceHandle(myService);
+   CloseServiceHandle(scm);
+   return thatok;
+}
+//---------------------------------------------------------------------------
+bool __fastcall TForm1::TheServiceStatus()
+{
+  bool thatok;
+  bool k;
+  char *SERVICE_NAME = "MySql";
+  SC_HANDLE myService, scm;
+  SERVICE_STATUS ss;
+  DWORD dwState = 0xFFFFFFFF;
+  scm = OpenSCManager(0, 0, SC_MANAGER_ALL_ACCESS);
+
+  if (scm)
+    {
+       myService = OpenService(scm, SERVICE_NAME, SERVICE_ALL_ACCESS);
+       if (myService)
+         {
+           memset(&ss, 0, sizeof(ss));
+           k = QueryServiceStatus(myService,&ss);
+           if (k)
+             {
+               dwState = ss.dwCurrentState;
+               if (dwState == SERVICE_RUNNING)
+                 thatok = true;
+             }
+           else
+            thatok = false;
+         }
+       else
+        thatok = false;
+    }
+   else
+      thatok = false;
+
+   CloseServiceHandle(myService);
+   CloseServiceHandle(scm);
+   return thatok;
+}
+//---------------------------------------------------------------------------
+bool __fastcall TForm1::TheServiceCreate()
+
+{
+  bool thatok;
+  char *SERVICE_NAME = "MySql";
+  char *szFullPath = vpath.c_str();
+  SC_HANDLE myService, scm;
+  scm = OpenSCManager(0, 0, SC_MANAGER_ALL_ACCESS);
+
+  if (scm)
+   {  myService = CreateService(
+	scm,
+	SERVICE_NAME,
+	SERVICE_NAME,
+	SERVICE_ALL_ACCESS,
+	SERVICE_WIN32_OWN_PROCESS,
+	SERVICE_AUTO_START	,
+	SERVICE_ERROR_NORMAL,
+	szFullPath,
+	NULL,
+	NULL,
+	NULL,
+	NULL,
+	NULL);
+
+     if (myService)
+       thatok = true;
+     else
+       thatok = false;
+
+  }
+
+   CloseServiceHandle(myService);
+   CloseServiceHandle(scm);
+   return thatok;
+
+}
+//---------------------------------------------------------------------------
+
+void __fastcall TForm1::Swin9Click(TObject *Sender)
+{
+ if(Application->MessageBox("Shutdown this tool", "WinMySQLadmin 1.0", MB_YESNOCANCEL | MB_ICONQUESTION	) == IDYES)
+  Close();
+}
+//---------------------------------------------------------------------------
+
+void __fastcall TForm1::SSW9Click(TObject *Sender)
+{
+ if (MySQLSignal())
+    {
+      if(Application->MessageBox("Shutdown the MySQL Server ", "WinMySQLadmin 1.0", MB_YESNOCANCEL | MB_ICONQUESTION	) == IDYES)
+        {
+
+          if (Shutd())
+            {
+              IsConnect = false;
+              IsVariables = false;
+              IsProcess = false;
+              IsDatabases = false;
+              ya = false;
+              ClearBox();
+              Sleep(500);
+              TrayMessage(NIM_MODIFY);
+
+            }
+          else
+              Application->MessageBox("Fails to Shutdown the Server", "WinMySQLadmin 1.0", MB_OK | MB_ICONEXCLAMATION);
+        }
+    }
+   else
+     {
+       if(Application->MessageBox("Start the MySQL Server ", "WinMySQLadmin 1.0", MB_YESNOCANCEL | MB_ICONQUESTION	) == IDYES)
+        {
+          if (mysqldstart())
+            {
+              TrayMessage(NIM_MODIFY);
+              ya = true;
+            }
+           else
+             Application->MessageBox("Fails to Start the Server", "WinMySQLadmin 1.0", MB_OK | MB_ICONEXCLAMATION);
+
+        }
+     }
+}
+//---------------------------------------------------------------------------
+
+void __fastcall TForm1::ShutDownBoth1Click(TObject *Sender)
+{
+  if (MySQLSignal())
+  {
+    if(Application->MessageBox("Shutdown the MySQL Server and this tool ", "WinMySQLadmin 1.0", MB_YESNOCANCEL | MB_ICONQUESTION	) == IDYES)
+     {
+
+       if (Shutd())
+        Close();
+       else
+         {
+           Application->MessageBox("Fails to Shutdown the Server", "WinMySQLadmin 1.0", MB_OK | MB_ICONEXCLAMATION);
+
+         }
+     }
+   }
+ else
+    if(Application->MessageBox("Shutdown this tool ", "WinMySQLadmin 1.0", MB_YESNOCANCEL | MB_ICONQUESTION	) == IDYES)
+    Close();
+}
+//---------------------------------------------------------------------------
+
+void __fastcall TForm1::ShutDownthisTool1Click(TObject *Sender)
+{
+ if(Application->MessageBox("Shutdown this tool ", "WinMySQLadmin 1.0", MB_YESNOCANCEL | MB_ICONQUESTION	) == IDYES)
+   Close();
+}
+//---------------------------------------------------------------------------
+
+void __fastcall TForm1::StopSClick(TObject *Sender)
+{
+  AnsiString theWarning;
+  theWarning = "Are you sure to stop the Service ?\n\nAll the connections will be loss !" ;
+  if (TheServiceStatus())
+    {
+      if(Application->MessageBox(theWarning.c_str(), "WinMySQLadmin 1.0", MB_YESNOCANCEL | MB_ICONQUESTION	) == IDYES)
+        {
+          if (TheServicePause())
+            {
+              TrayMessage(NIM_MODIFY);
+              IsConnect = false;
+              IsVariables = false;
+              IsProcess = false;
+              IsDatabases = false;
+              ya = false;
+              ClearBox();
+
+            }
+          else
+             Application->MessageBox("Fails to stop the Service", "WinMySQLadmin 1.0", MB_OK | MB_ICONEXCLAMATION);
+
+        }
+    }
+   else
+     {
+       if(Application->MessageBox("Start the Service Manager for the MySQL Server ", "WinMySQLadmin 1.0", MB_YESNOCANCEL | MB_ICONQUESTION	) == IDYES)
+         {
+           if (TheServiceResume())
+             {
+               ya = true;
+               TrayMessage(NIM_MODIFY);
+             }
+           else
+               Application->MessageBox("Fails to start the Service", "WinMySQLadmin 1.0", MB_OK | MB_ICONEXCLAMATION);
+         }
+     }
+}
+//---------------------------------------------------------------------------
+
+void __fastcall TForm1::RServiceClick(TObject *Sender)
+{
+ if (TheServiceStart())
+    {
+      if(Application->MessageBox("Remove the MySQL Server service ", "WinMySQLadmin 1.0", MB_YESNOCANCEL | MB_ICONQUESTION	) == IDYES)
+       {
+         if (!TheServiceRemove())
+         Application->MessageBox("Fails to Remove The MySQL Server Service", "WinMySQLadmin 1.0", MB_OK | MB_ICONEXCLAMATION);
+       }
+    }
+  else
+    {
+      if(Application->MessageBox("Install the MySQL Server service ", "WinMySQLadmin 1.0", MB_YESNOCANCEL | MB_ICONQUESTION	) == IDYES)
+       {
+         if (!TheServerPath())
+           Application->MessageBox("Please create first the my.ini setup", "WinMySQLadmin 1.0", MB_OK | MB_ICONEXCLAMATION);
+         else
+           {
+             if (!TheServiceCreate())
+              Application->MessageBox("Fails to Install The MySQL Server Service", "WinMySQLadmin 1.0", MB_OK | MB_ICONEXCLAMATION);
+           }
+
+       }
+    }
+}
+//---------------------------------------------------------------------------
+
+void __fastcall TForm1::StandaClick(TObject *Sender)
+{
+  if (MySQLSignal())
+    {
+      if(Application->MessageBox("Shutdown the MySQL Server ", "WinMySQLadmin 1.0", MB_YESNOCANCEL | MB_ICONQUESTION	) == IDYES)
+        {
+          if (Shutd())
+           {
+             IsConnect = false;
+             IsVariables = false;
+             IsProcess = false;
+             IsDatabases = false;
+             ya = false;
+             ClearBox();
+             Sleep(500);
+             TrayMessage(NIM_MODIFY);
+
+            }
+          else
+            Application->MessageBox("Fails to Shutdown the Server", "WinMySQLadmin 1.0", MB_OK | MB_ICONEXCLAMATION);
+        }
+    }
+   else
+     {
+       if(Application->MessageBox("Start the MySQL Server ", "WinMySQLadmin 1.0", MB_YESNOCANCEL | MB_ICONQUESTION	) == IDYES)
+        {
+          if (mysqldstart())
+            {
+              StatusLine->SimpleText = "";
+              TrayMessage(NIM_MODIFY);
+
+            }
+          else
+          Application->MessageBox("Fails to Start the Server", "WinMySQLadmin 1.0", MB_OK | MB_ICONEXCLAMATION);
+        }
+     }
+}
+//---------------------------------------------------------------------------
+bool __fastcall TForm1::Shutd()
+{
+  // from Irena
+  HANDLE hEventShutdown;
+  hEventShutdown=OpenEvent(EVENT_MODIFY_STATE, 0, "MySqlShutdown");
+
+  if (IsConnect)
+   {
+     mysql_kill(MySQL,mysql_thread_id(MySQL));
+     mysql_shutdown(MySQL);
+     StatusLine->SimpleText = "";
+
+   }
+
+   q = 0;
+
+
+  if(hEventShutdown)
+   {
+    SetEvent(hEventShutdown);
+    CloseHandle(hEventShutdown);
+    TrayMessage(NIM_MODIFY);
+    IsConnect = false;
+    return true;
+   }
+  else
+   {
+     TrayMessage(NIM_MODIFY);
+     return false;
+   }
+
+}
+//---------------------------------------------------------------------------
+void __fastcall TForm1::ClearBox(void)
+{
+ 
+ st22->Text = "";
+ st23->Text = "";
+ st24->Text = "";
+ st25->Text = "";
+ st26->Text = "";
+ st27->Text = "";
+ st28->Text = "";
+ st29->Text = "";
+ Edit3->Text = "";
+ Edit4->Text = "";
+ Edit5->Text = "";
+ Edit6->Text = "";
+
+}
+//---------------------------------------------------------------------------
+bool __fastcall TForm1::TheServiceRemove()
+{
+  bool thatok;
+  char *SERVICE_NAME = "MySql";
+  SC_HANDLE myService, scm;
+  scm = OpenSCManager(0, 0, SC_MANAGER_ALL_ACCESS);
+  if (scm)
+    {
+      myService = OpenService(scm, SERVICE_NAME, SERVICE_ALL_ACCESS);
+       if (myService)
+         {
+           if(DeleteService(myService))
+             {
+               CloseServiceHandle(myService);
+               CloseServiceHandle(scm);
+               thatok = true;
+             }
+           else
+             {
+                CloseServiceHandle(myService);
+                CloseServiceHandle(scm);
+                thatok = false;
+              }
+
+          }
+       else
+          {
+            CloseServiceHandle(myService);
+            CloseServiceHandle(scm);
+            thatok = false;
+          }
+    }
+  else
+     {
+      thatok = false;
+      CloseServiceHandle(scm);
+     }
+
+   return thatok;
+
+}
+//---------------------------------------------------------------------------
+bool __fastcall TForm1::TheServerPath()
+{
+
+ TIniFile *pIniFile = new
+ TIniFile(TheWinDir() + "\\my.ini");
+
+ vpath = pIniFile->ReadString("WinMySQLadmin","Server","")  ;
+ delete pIniFile;
+ if (vpath.IsEmpty())
+   return false;
+ else
+   return true;
+
+}
+//---------------------------------------------------------------------------
+
+void __fastcall TForm1::Button5Click(TObject *Sender)
+{
+ if (!SeekErrFile())
+  Application->MessageBox("Fails to find mysql.err", "WinMySQLadmin 1.0", MB_OK |MB_ICONINFORMATION);
+}
+//---------------------------------------------------------------------------
+void __fastcall TForm1::IsMySQLInit(void)
+{
+  AnsiString theCommand;
+  char	*host = NULL,*password=0,*user=0 ;
+  TIniFile *pIniFile = new
+  TIniFile(TheWinDir() + "\\my.ini");
+
+  AnsiString MyUser = pIniFile->ReadString("WinMySQLadmin","user","")  ;
+  AnsiString MyPass = pIniFile->ReadString("WinMySQLadmin","password","")  ;
+
+  delete pIniFile;
+
+
+ if (!MyUser.IsEmpty() && MyUser.Length() && !MyPass.IsEmpty() && MyPass.Length())
+   {
+     if (!IsConnect)
+      {
+
+       MySQL = mysql_init(MySQL);
+       if (mysql_real_connect(MySQL, "localhost",(MyUser).c_str(), (MyPass).c_str() , 0, 0, NULL, 0))
+        IsConnect = true;
+       else
+        {
+         if(mysql_real_connect(MySQL,host,user,password , 0, 0, NULL, 0))
+          {
+            IsConnect = true;
+            theCommand = "GRANT ALL PRIVILEGES ON *.* TO ";
+            theCommand +=  "'" + MyUser + "' @localhost IDENTIFIED BY ";
+            theCommand +=  "'" + MyPass + "' with GRANT OPTION";
+            char* los = theCommand.c_str();
+            if(!mysql_query(MySQL, los ))
+             StatusLine->SimpleText = " ";
+          }
+
+        }
+
+      }
+
+  }
+ else
+  {
+   if (!IsConnect)
+    {
+      MySQL = mysql_init(MySQL);
+      if(mysql_real_connect(MySQL,host,user,password , 0, 0, NULL, 0))
+      IsConnect = true;
+    }
+  }
+}
+
+//---------------------------------------------------------------------------
+
+void __fastcall TForm1::Timer3Timer(TObject *Sender)
+{
+   if ((NT) && TheServiceStatus()) {IsMySQLInit(); }
+
+  if ((NT) && !TheServiceStatus() && MySQLSignal()) {IsMySQLInit(); }
+
+  if (!(NT) && MySQLSignal()) {IsMySQLInit(); }
+
+  if (IsConnect)
+   {
+     GetServerStatus();
+     if (!IsMySQLNode)
+     GetMainRoot();
+     Extended->Enabled = true;
+     if (!IsProcess && !GetProcess())
+      StatusLine->SimpleText = "";
+     if (!IsVariables && !GetVariables())
+        StatusLine->SimpleText = "";
+     Timer3->Interval = 10000;
+   }
+  else
+    Extended->Enabled = false;
+}
+//---------------------------------------------------------------------------
+void __fastcall TForm1::GetServerStatus(void)
+{
+
+  GetExtendedStatus();
+  Edit3->Text = mysql_get_server_info(MySQL);
+  Edit4->Text = mysql_get_host_info(MySQL);
+  Edit5->Text = mysql_get_client_info();
+  Edit6->Text = mysql_get_proto_info(MySQL);
+
+
+}
+
+//---------------------------------------------------------------------------
+bool __fastcall TForm1::GetProcess()
+{
+  MYSQL_RES *res;
+  MYSQL_ROW row;
+  unsigned int i;
+  int k = 0;
+  int therow = 1;
+  new_line=1;
+
+   StringGrid2->RowCount= 2;
+
+   if (!(res=mysql_list_processes(MySQL)))
+      {
+       	return false;
+      }
+
+      while ((row=mysql_fetch_row(res)) != 0)
+       {
+         mysql_field_seek(res,0);
+         StringGrid2->Cells[0][0] = "PID";
+         StringGrid2->Cells[1][0] = "User";
+         StringGrid2->Cells[2][0] = "Host";
+         StringGrid2->Cells[3][0] = "DB";
+         StringGrid2->Cells[4][0] = "Command";
+         StringGrid2->Cells[5][0] = "Time";
+         StringGrid2->Cells[6][0] = "State";
+         StringGrid2->Cells[7][0] = "Info";
+         for (i=0 ; i < mysql_num_fields(res); i++)
+          {
+
+             if (k <= 6 )
+              {
+               StringGrid2->Cells[k][therow] = row[i];
+               k++;
+              }
+             else
+               {
+
+                 StringGrid2->Cells[(k)][therow] = row[i];
+                 k = 0;
+                 therow++ ;
+                 StringGrid2->RowCount++;
+
+               }
+
+          }
+
+       }
+
+      StringGrid2->RowCount--;
+      mysql_free_result(res);
+      StringGrid5->RowCount--;
+      IsProcess = true;
+      return true;
+
+}
+//---------------------------------------------------------------------------
+bool __fastcall TForm1::GetVariables()
+{
+  MYSQL_RES *res;
+  MYSQL_ROW row;
+  unsigned int i;
+  int k = 1;
+  new_line=1;
+  bool left = true;
+  AnsiString report;
+  StringGrid1->RowCount = 2;
+   if (mysql_query(MySQL,"show variables") ||
+	  !(res=mysql_store_result(MySQL)))
+      {
+        return false;
+      }
+
+      while ((row=mysql_fetch_row(res)) != 0)
+       {
+         mysql_field_seek(res,0);
+
+         StringGrid1->Cells[0][0] = "Variable Name";
+         StringGrid1->Cells[1][0] = "Value";
+
+
+         for (i=0 ; i < mysql_num_fields(res); i++)
+          {
+
+             if (left)
+              {
+                 if (treport)
+                 report = GetString(row[i]);
+                 StringGrid1->Cells[0][k++] = row[i];
+                 left = false;
+              }
+             else
+               {
+                 if (treport)
+                  Memo5->Lines->Add(report + row[i]);
+                 StringGrid1->RowCount++;
+                 StringGrid1->Cells[1][--k] = row[i];
+                 k++;
+                 left = true;
+               }
+
+          }
+
+       }
+
+    StringGrid1->RowCount--;
+    mysql_free_result(res);
+    IsVariables = true;
+    return true;
+}
+//---------------------------------------------------------------------------
+bool __fastcall TForm1::nice_time(AnsiString buff)
+{
+
+  unsigned long sec;
+  unsigned long tmp;
+  AnsiString  mytime;
+
+  sec = StrToInt(buff);
+
+  if (sec >= 3600L*24)
+  {
+    tmp=sec/(3600L*24);
+    sec-=3600L*24*tmp;
+
+    mytime = IntToStr(tmp);
+    if (tmp > 1)
+      mytime+= " days ";
+    else
+      mytime+= " day ";
+
+  }
+
+  if (sec >= 3600L)
+  {
+    tmp=sec/3600L;
+    sec-=3600L*tmp;
+     mytime += IntToStr(tmp);
+    if (tmp > 1)
+      mytime+= " hours ";
+    else
+      mytime+= " hour ";
+  }
+  if (sec >= 60)
+  {
+    tmp=sec/60;
+    sec-=60*tmp;
+    mytime += IntToStr(tmp);
+    mytime+= " min ";
+
+  }
+  mytime += IntToStr(sec);
+  mytime+= " sec ";
+  st29->Text = mytime ;
+ return true;
+}
+//---------------------------------------------------------------------------
+void __fastcall TForm1::Button11Click(TObject *Sender)
+{
+  if (IsConnect)
+  {
+    if (GetVariables())
+     StatusLine->SimpleText = "";
+   }
+}
+//---------------------------------------------------------------------------
+
+void __fastcall TForm1::Button10Click(TObject *Sender)
+{
+ if (IsConnect)
+  {
+    if (GetProcess())
+     StatusLine->SimpleText = "";
+   }
+}
+//---------------------------------------------------------------------------
+
+void __fastcall TForm1::Button6Click(TObject *Sender)
+{
+  if (IsConnect)
+   {
+    if (mysql_refresh(MySQL,REFRESH_HOSTS))
+       StatusLine->SimpleText = "";
+   }
+}
+//---------------------------------------------------------------------------
+
+void __fastcall TForm1::Button7Click(TObject *Sender)
+{
+  if (IsConnect)
+  {
+    if (mysql_refresh(MySQL,REFRESH_LOG))
+     StatusLine->SimpleText = "";
+  }
+}
+//---------------------------------------------------------------------------
+
+void __fastcall TForm1::Button8Click(TObject *Sender)
+{
+  if (IsConnect)
+  {
+    if (mysql_refresh(MySQL,REFRESH_TABLES))
+      StatusLine->SimpleText = "";
+   }
+}
+//---------------------------------------------------------------------------
+
+void __fastcall TForm1::Button2Click(TObject *Sender)
+{
+ Memo1->Enabled = true;
+  Memo1->Lines->Clear();
+  AnsiString asFileName = FileSearch("my.ini", TheWinDir());
+  if (asFileName.IsEmpty())
+   Application->MessageBox("Don't found my.ini file on the Win Directory", "WinMySQLadmin 1.0", MB_OK |MB_ICONINFORMATION);
+  else
+   FillMyIni();
+}
+//---------------------------------------------------------------------------
+
+void __fastcall TForm1::Button3Click(TObject *Sender)
+{
+ TIniFile *pIniFile = new
+ TIniFile(TheWinDir() + "\\my.ini");
+
+ if (!Memo1->GetTextLen())
+   Application->MessageBox("The Memo Box is Empty", "WinMySQLadmin 1.0", MB_OK |MB_ICONINFORMATION);
+ else
+  {
+   if(Application->MessageBox("Are you sure to write the modifications into My.ini file.", "WinMySQLadmin 1.0", MB_YESNOCANCEL | MB_ICONQUESTION	) == IDYES)
+    {
+      Memo1->Lines->SaveToFile(TheWinDir() + "\\my.ini");
+
+      Memo1->Lines->Clear();
+      Memo1->Enabled = true;
+      Memo1->Lines->Clear();
+      if (NtVer->Checked)
+       pIniFile->WriteString("WinMySQLadmin","Server",TheDir() + "/bin/mysqld-nt.exe");
+      if (MysqldVer->Checked == true)
+       pIniFile->WriteString("WinMySQLadmin","Server", TheDir() + "/bin/mysqld.exe");
+      if (ShareVer->Checked)
+       pIniFile->WriteString("WinMySQLadmin","Server",TheDir() + "/bin/mysqld-shareware.exe");
+      if (OptVer->Checked)
+       pIniFile->WriteString("WinMySQLadmin","Server", TheDir() + "/bin/mysqld-opt.exe");
+      FillMyIni();
+      Application->MessageBox("My.ini was modificated", "WinMySQLadmin 1.0", MB_OK |MB_ICONINFORMATION);
+    }
+
+  }
+  delete pIniFile;
+  Memo1->Lines->Clear();
+  FillMyIni();
+
+}
+//---------------------------------------------------------------------------
+
+void __fastcall TForm1::Button1Click(TObject *Sender)
+{
+  if(CreatingShortCut())
+   Application->MessageBox("The ShortCut on Start Menu was created", "WinMySQLadmin 1.0", MB_OK |MB_ICONINFORMATION);
+ else
+   Application->MessageBox("Fails the Operation of Create the ShortCut", "WinMySQLadmin 1.0", MB_OK |MB_ICONINFORMATION);
+}
+//---------------------------------------------------------------------------
+
+void __fastcall TForm1::SpeedButton2Click(TObject *Sender)
+{
+ BROWSEINFO    info;
+  char          szDir[MAX_PATH];
+  char          szDisplayName[MAX_PATH];
+  LPITEMIDLIST  pidl;
+  LPMALLOC      pShellMalloc;
+
+
+ if(SHGetMalloc(&pShellMalloc) == NO_ERROR)
+    {
+
+      memset(&info, 0x00,sizeof(info));
+      info.hwndOwner = Handle;
+      info.pidlRoot  = 0;
+      info.pszDisplayName = szDisplayName;
+      info.lpszTitle = "Search MySQL Base Directory";
+      info.ulFlags   = BIF_RETURNONLYFSDIRS;
+      info.lpfn = 0;
+
+      pidl = SHBrowseForFolder(&info);
+
+      if(pidl)
+        {
+
+          if(SHGetPathFromIDList(pidl, szDir)) {BaseDir->Text = szDir; }
+
+            pShellMalloc->Free(pidl);
+        }
+        pShellMalloc->Release();
+    }
+}
+//---------------------------------------------------------------------------
+
+void __fastcall TForm1::Button4Click(TObject *Sender)
+{
+ if (IsConnect)
+  {
+    Memo3->Lines->Add(mysql_stat(MySQL));
+  }
+}
+//---------------------------------------------------------------------------
+
+
+void __fastcall TForm1::SpeedButton3Click(TObject *Sender)
+{
+  if(Showme1->Caption == "Show me")  {  TrayMessage(NIM_DELETE);
+       Showme1->Caption = "Hide me";  Show();  }
+  else  { TrayMessage(NIM_ADD);  TrayMessage(NIM_MODIFY);
+       Showme1->Caption = "Show me";  Hide();  }
+}
+//---------------------------------------------------------------------------
+
+void __fastcall TForm1::ExtendedClick(TObject *Sender)
+{
+if (ya)
+ {
+ Extended->Caption = "Start Extended Server Status";
+ ya = false;
+ ClearBox();
+ }
+else
+ {
+ Extended->Caption = "Stop Extended Server Status";
+ ya = true;
+ }
+}
+//---------------------------------------------------------------------------
+void __fastcall TForm1::GetServerOptions(void)
+{
+AnsiString FileName;
+FileName =  FileSearch("mysqld-opt.exe", ExtractFilePath(Application->ExeName));
+if (FileName.IsEmpty()) {OptVer->Enabled = false; }
+
+FileName =  FileSearch("mysqld-shareware.exe", ExtractFilePath(Application->ExeName));
+if (FileName.IsEmpty()) {ShareVer->Enabled = false; }
+
+FileName =  FileSearch("mysqld.exe", ExtractFilePath(Application->ExeName));
+if (FileName.IsEmpty()) {MysqldVer->Enabled = false; }
+
+FileName =  FileSearch("mysqld-nt.exe", ExtractFilePath(Application->ExeName));
+if (FileName.IsEmpty()) {NtVer->Enabled = false; }
+
+}
+//---------------------------------------------------------------------------
+void __fastcall TForm1::GetReportServer(void)
+{
+
+  AnsiString strspace;
+  Memo5->Lines->Clear();
+  Memo5->Lines->Add("This Report was made using the WinMySQLadmin 1.0 Tool");
+  Memo5->Lines->Add("");
+  Memo5->Lines->Add(Now());
+  Memo5->Lines->Add("");
+
+   preport = true;
+   Memo5->Lines->Add("");
+   Memo5->Lines->Add("Server Status Values");
+   Memo5->Lines->Add("");
+   Memo5->Lines->Add(GetString("Server Info") + mysql_get_server_info(MySQL));
+   Memo5->Lines->Add(GetString("Host Info") + mysql_get_host_info(MySQL));
+   Memo5->Lines->Add(GetString("Client Info") + mysql_get_client_info());
+   Memo5->Lines->Add(GetString("Proto Info") + mysql_get_proto_info(MySQL));
+   GetExtendedStatus();
+   preport = false;
+   treport = true;
+   Memo5->Lines->Add("");
+   Memo5->Lines->Add("Variables Values");
+   Memo5->Lines->Add("");
+   GetVariables();
+   treport = false;
+   ereport = true;
+   Memo5->Lines->Add("");
+   Memo5->Lines->Add("Last Lines from Err File");
+   Memo5->Lines->Add("");
+   SeekErrFile();
+   ereport = false;
+
+}
+
+void __fastcall TForm1::SpeedButton4Click(TObject *Sender)
+{
+ if(IsConnect)
+  GetReportServer();
+ else
+  Application->MessageBox("The Server must be connected", "WinMySQLadmin 1.0", MB_OK | MB_ICONEXCLAMATION);
+}
+//---------------------------------------------------------------------------
+
+void __fastcall TForm1::SpeedButton5Click(TObject *Sender)
+{
+  AnsiString PathName;
+  SaveFileDialog->FileName = PathName;
+  if (SaveFileDialog->Execute() ){
+    PathName= SaveFileDialog->FileName;
+    Caption = ExtractFileName(PathName);
+    Memo5->Lines->SaveToFile(PathName);
+    Memo5->Modified = false;
+  }
+}
+//---------------------------------------------------------------------------
+String  __fastcall TForm1::GetString(String k)
+{
+  int i = 35 - k.Length();
+  for (int y = 1 ; y <= i ;y++ )
+     k+= " ";
+   return k ;
+}
+//---------------------------------------------------------------------------
+void __fastcall TForm1::SpeedButton6Click(TObject *Sender)
+{
+ PrinterSetupDialog1->Execute();
+}
+//---------------------------------------------------------------------------
+
+void __fastcall TForm1::SpeedButton7Click(TObject *Sender)
+{
+  AnsiString PathName;
+  if (PrintDialog1->Execute()){
+    try {
+        Memo5->Print(PathName);
+    }
+    catch(...){
+        Printer()->EndDoc();
+        throw;
+    }
+  }
+}
+//---------------------------------------------------------------------------
+
+void __fastcall TForm1::SpeedButton8Click(TObject *Sender)
+{
+ Memo5->CutToClipboard();
+}
+//---------------------------------------------------------------------------
+
+void __fastcall TForm1::SpeedButton9Click(TObject *Sender)
+{
+  Memo5->CopyToClipboard();
+}
+//---------------------------------------------------------------------------
+
+void __fastcall TForm1::SpeedButton10Click(TObject *Sender)
+{
+
+ Memo5->PasteFromClipboard();
+}
+//---------------------------------------------------------------------------
+
+void __fastcall TForm1::SpeedButton11Click(TObject *Sender)
+{
+ Memo5->ClearSelection();
+}
+//---------------------------------------------------------------------------
+
+void __fastcall TForm1::SpeedButton12Click(TObject *Sender)
+{
+ Memo5->SelectAll();
+}
+//---------------------------------------------------------------------------
+bool __fastcall TForm1::GetMainRoot()
+{
+
+ MYSQL_RES *res;
+ MYSQL_ROW row;
+ unsigned int i;
+ AnsiString command;
+
+ CleanGrid();
+ CleanGridI();
+ TakeIP();
+
+ MySQLNode = DBView->Items->Add(NULL, mainroot.UpperCase());
+ MySQLNode->ImageIndex = 0;
+
+ if (!(res=mysql_list_dbs(MySQL,"%")))  { return false; }
+   while ((row=mysql_fetch_row(res)) != 0) {
+     mysql_field_seek(res,0);
+
+     for (i=0 ; i < mysql_num_fields(res); i++)
+      {
+        MySQLDbs = DBView->Items->AddChild(MySQLNode, row[i]);
+        MySQLDbs->ImageIndex = 1;
+        MySQLDbs->SelectedIndex = 1;
+
+
+      }
+
+   }
+
+   mysql_free_result(res);
+   MySQLNode->Expanded = true;
+
+
+
+
+ IsMySQLNode = true;
+ return true;
+
+}
+//---------------------------------------------------------------------------
+void __fastcall TForm1::DeleteDatabaseSClick(TObject *Sender)
+{
+ AnsiString alert;
+ if (IsConnect)
+  {
+   if(DBView->Selected == MySQLNode )
+    Application->MessageBox("Invalid database row selected.", "WinMySQLadmin 1.0", MB_OK | MB_ICONEXCLAMATION);
+   else if ( DBView->Selected == NULL )
+    Application->MessageBox("Invalid database row selected.", "WinMySQLadmin 1.0", MB_OK | MB_ICONEXCLAMATION);
+   else
+    {
+     if (DBView->Selected->Text.UpperCase() == "MYSQL")
+      Application->MessageBox("You cann't use this tool to drop the MySQL Database.", "WinMySQLadmin 1.0", MB_OK | MB_ICONEXCLAMATION);
+     else {
+       alert = "Are you sure to drop the < ";
+       alert+= DBView->Selected->Text.c_str();
+       alert+= " > database.";
+      if(Application->MessageBox(alert.c_str(), "WinMySQLadmin 1.0", MB_YESNOCANCEL | MB_ICONQUESTION	) == IDYES)
+       {
+         char* lese = DBView->Selected->Text.c_str();
+        if (!mysql_drop_db(MySQL, lese ))
+          {
+            DBView->Items->Clear();
+            GetMainRoot();
+           }
+         else
+           Application->MessageBox("Fails to drop the Database.", "WinMySQLadmin 1.0", MB_OK | MB_ICONEXCLAMATION);
+        }
+      }
+   }
+  }
+ else
+   Application->MessageBox("The Server must be connected", "WinMySQLadmin 1.0", MB_OK | MB_ICONEXCLAMATION);
+}
+//---------------------------------------------------------------------------
+ bool __fastcall TForm1::IsDatabase(String Name)
+{
+  MYSQL_RES *res;
+  MYSQL_ROW row;
+  unsigned int i;
+  AnsiString command;
+
+
+  CleanTree();
+  command = "use ";
+  command+= Name.c_str();
+  char* das = command.c_str();
+  char* lis = Name.c_str();
+  if (mysql_query(MySQL, das ) ||
+  !(res=mysql_list_tables(MySQL,"%")))
+  return false;
+
+  MySQLNodeT = TableView->Items->Add(NULL, lis);
+  MySQLNodeT->ImageIndex = 1;
+  MySQLNodeT->SelectedIndex = 1;
+  while ((row=mysql_fetch_row(res)) != 0) {
+  mysql_field_seek(res,0);
+
+  for (i=0 ; i < mysql_num_fields(res); i++)
+   {
+
+     MySQLTbs = TableView->Items->AddChild(MySQLNodeT, row[i]);
+     MySQLTbs->ImageIndex = 2;
+     MySQLTbs->SelectedIndex = 2;
+   }
+   MySQLNodeT->Expanded = true;
+  }
+  mysql_free_result(res);
+  return true;
+}
+//---------------------------------------------------------------------------
+
+
+void __fastcall TForm1::DBViewClick(TObject *Sender)
+{
+
+ if (IsConnect)
+  {
+    if (DBView->Selected != MySQLNode && DBView->Selected != NULL  )
+     {
+       IsDatabase(DBView->Selected->Text);
+
+     }
+    else
+     {
+      CleanTree();
+     }
+  }
+}
+//---------------------------------------------------------------------------
+void __fastcall TForm1::TableViewClick(TObject *Sender)
+{
+ if (IsConnect)
+  {
+    if (DBView->Selected != MySQLNodeT )
+     {
+       IsTable(TableView->Selected->Text);
+       IsIndex(TableView->Selected->Text);
+
+     }
+    else
+     {
+      CleanGrid();
+      CleanGridI();
+
+     }
+  }
+}
+//---------------------------------------------------------------------------
+ bool __fastcall TForm1::IsTable(String Name)
+{
+ MYSQL_RES *res;
+ MYSQL_ROW row;
+ unsigned int i;
+ int k = 0;
+ int therow = 1;
+ new_line=1;
+ AnsiString command;
+ AnsiString commandt;
+
+ CleanGrid();
+ CleanGridI();
+ command = "use ";
+ command+= DBView->Selected->Text.c_str();
+ char* las = command.c_str();
+
+ commandt = "desc ";
+ commandt+= Name.c_str();
+ char* les = commandt.c_str();
+
+ if (mysql_query(MySQL, las ))
+ return false;
+
+ if (mysql_query(MySQL, les ) ||
+ !(res=mysql_store_result(MySQL)))
+ return false ;
+
+ StringGrid4->Cells[0][0] = "Field";
+ StringGrid4->Cells[1][0] = "Type";
+ StringGrid4->Cells[2][0] = "Null";
+ StringGrid4->Cells[3][0] = "Key";
+ StringGrid4->Cells[4][0] = "Default";
+ StringGrid4->Cells[5][0] = "Extra";
+ StringGrid4->Cells[6][0] = "Previleges";
+
+
+ int thecounter;
+ String u = GetNumberServer();
+ if ( u == "3.22")
+  {
+   StringGrid3->ColCount = 7;
+   thecounter = 4;
+  }
+ else
+  thecounter = 5;
+
+ while ((row=mysql_fetch_row(res)) != 0)
+ {
+   mysql_field_seek(res,0);
+
+   for (i=0 ; i < mysql_num_fields(res); i++)
+    {
+     if (k <= thecounter )
+     {
+       StringGrid4->Cells[k][therow] = row[i];
+       k++;
+     }
+     else
+     {
+       StringGrid4->Cells[(k)][therow] = row[i];
+       k = 0;
+       therow++ ;
+       StringGrid4->RowCount++;
+      }
+    }
+
+ }
+ StringGrid4->RowCount--;
+ mysql_free_result(res);
+ return true;
+}
+//---------------------------------------------------------------------------
+void __fastcall TForm1::TableViewChange(TObject *Sender, TTreeNode *Node)
+{
+if (IsConnect)
+  {
+    if (DBView->Selected != MySQLNodeT )
+     {
+       IsTable(TableView->Selected->Text);
+       IsIndex(TableView->Selected->Text);
+
+     }
+    else
+     {
+      CleanGrid();
+      CleanGridI();
+
+     }
+  }
+}
+//---------------------------------------------------------------------------
+void __fastcall TForm1::DBViewChange(TObject *Sender, TTreeNode *Node)
+{
+ if (IsConnect)
+  {
+    if (DBView->Selected != MySQLNode )
+     {
+       IsDatabase(DBView->Selected->Text);
+
+     }
+    else
+     {
+      CleanTree();
+     }
+  }
+
+}
+//---------------------------------------------------------------------------
+void __fastcall TForm1::RefreshSClick(TObject *Sender)
+{
+ MYSQL_RES *res;
+ MYSQL_ROW row;
+ unsigned int i;
+ AnsiString command;
+
+ if (IsConnect)
+  {
+   IsMySQLNode = false;
+   CleanTree();
+   DBView->Items->Clear();
+
+   TakeIP();
+
+   MySQLNode = DBView->Items->Add(NULL, mainroot.UpperCase());
+   MySQLNode->ImageIndex = 0;
+
+   if (!(res=mysql_list_dbs(MySQL,"%")))  { /*do nothing;*/ }
+    while ((row=mysql_fetch_row(res)) != 0) {
+    mysql_field_seek(res,0);
+
+     for (i=0 ; i < mysql_num_fields(res); i++)
+      {
+        MySQLDbs = DBView->Items->AddChild(MySQLNode, row[i]);
+        MySQLDbs->ImageIndex = 1;
+        MySQLDbs->SelectedIndex = 1;
+
+      }
+
+   }
+
+   mysql_free_result(res);
+
+ IsMySQLNode = true;
+
+ MySQLNode->Expanded = true;
+
+  }
+}
+//---------------------------------------------------------------------------
+
+void __fastcall TForm1::CreateDatabaseSClick(TObject *Sender)
+{
+
+ if (IsConnect)
+  {
+   dbfrm->Show();
+
+  }
+ else
+  ShowMessage("Precisa estar conectado");
+}
+//---------------------------------------------------------------------------
+void __fastcall TForm1::CleanTree(void)
+{
+  StringGrid4->RowCount= 2;
+  StringGrid4->Cells[0][1] = "";
+  StringGrid4->Cells[1][1] = "";
+  StringGrid4->Cells[2][1] = "";
+  StringGrid4->Cells[3][1] = "";
+  StringGrid4->Cells[4][1] = "";
+  StringGrid4->Cells[5][1]  = "";
+  TableView->Items->Clear();
+
+}
+//---------------------------------------------------------------------------
+void __fastcall TForm1::CleanGrid(void)
+{
+  StringGrid4->RowCount= 2;
+  StringGrid4->Cells[0][1] = "";
+  StringGrid4->Cells[1][1] = "";
+  StringGrid4->Cells[2][1] = "";
+  StringGrid4->Cells[3][1] = "";
+  StringGrid4->Cells[4][1] = "";
+  StringGrid4->Cells[5][1]  = "";
+}
+//---------------------------------------------------------------------------
+bool __fastcall TForm1::CreatingDB()
+{
+
+ if (mysql_create_db(MySQL, dbfrm->Edit1->Text.c_str()))
+  return true;
+ else
+  return false;
+}
+//---------------------------------------------------------------------------
+void __fastcall TForm1::OutRefresh(void)
+{
+ RefreshSClick(dbfrm->SpeedButton1);
+}
+//---------------------------------------------------------------------------
+void __fastcall TForm1::FlushHosts1Click(TObject *Sender)
+{
+   if (IsConnect)
+   {
+    if (mysql_refresh(MySQL,REFRESH_HOSTS))
+       StatusLine->SimpleText = "";
+   }
+}
+//---------------------------------------------------------------------------
+
+void __fastcall TForm1::FlushLogs1Click(TObject *Sender)
+{
+   if (IsConnect)
+  {
+    if (mysql_refresh(MySQL,REFRESH_LOG))
+     StatusLine->SimpleText = "";
+  }
+}
+//---------------------------------------------------------------------------
+
+void __fastcall TForm1::FlushTables1Click(TObject *Sender)
+{
+  if (IsConnect)
+  {
+    if (mysql_refresh(MySQL,REFRESH_TABLES))
+      StatusLine->SimpleText = "";
+   }
+}
+//---------------------------------------------------------------------------
+//---------------------------------------------------------------------------
+ bool __fastcall TForm1::IsIndex(String Name)
+{
+ MYSQL_RES *res;
+ MYSQL_ROW row;
+ unsigned int i;
+ int k = 0;
+ int therow = 1;
+ new_line=1;
+ AnsiString command;
+ AnsiString commandt;
+ i = 0;
+ CleanGridI();
+ command = "use ";
+ command+= DBView->Selected->Text.c_str();
+ char* las = command.c_str();
+
+ commandt = "show index from ";
+ commandt+= Name.c_str();
+ char* les = commandt.c_str();
+
+ if (mysql_query(MySQL, las ))
+ return false;
+
+ if (mysql_query(MySQL, les ) ||
+ !(res=mysql_store_result(MySQL)))
+ return false ;
+
+ StringGrid3->RowCount= 2;
+ StringGrid3->Cells[0][0] = "Table";
+ StringGrid3->Cells[1][0] = "Non_unique";
+ StringGrid3->Cells[2][0] = "Key_name";
+ StringGrid3->Cells[3][0] = "Seq_in_index";
+ StringGrid3->Cells[4][0] = "Col_name";
+ StringGrid3->Cells[5][0] = "Collation";
+ StringGrid3->Cells[6][0] = "Card.";
+ StringGrid3->Cells[7][0] = "Sub_part";
+ StringGrid3->Cells[8][0] = "Packed";
+ StringGrid3->Cells[9][0] = "Comment";
+
+ int thecounter;
+ String u = GetNumberServer();
+
+ if ( u == "3.22")
+  {
+   StringGrid3->ColCount = 8;
+   thecounter = 6;
+  }
+ else
+  thecounter = 8;
+ while ((row=mysql_fetch_row(res)) != 0)
+ {
+   mysql_field_seek(res,0);
+
+   for (i=0 ; i < mysql_num_fields(res); i++)
+    {
+     if (k <= thecounter )
+     {
+       StringGrid3->Cells[k][therow] = row[i];
+       k++;
+     }
+     else
+     {
+       StringGrid3->Cells[(k)][therow] = row[i];
+       k = 0;
+       therow++ ;
+       StringGrid3->RowCount++;
+      }
+    }
+
+ }
+ if (i)
+ StringGrid3->RowCount--;
+ mysql_free_result(res);
+ return true;
+}
+//---------------------------------------------------------------------------
+void __fastcall TForm1::CleanGridI(void)
+{
+  StringGrid3->RowCount= 2;
+  StringGrid3->Cells[0][1] = "";
+  StringGrid3->Cells[1][1] = "";
+  StringGrid3->Cells[2][1] = "";
+  StringGrid3->Cells[3][1] = "";
+  StringGrid3->Cells[4][1] = "";
+  StringGrid3->Cells[5][1]  = "";
+  StringGrid3->Cells[6][1]  = "";
+  StringGrid3->Cells[7][1]  = "";
+}
+//---------------------------------------------------------------------------
+bool __fastcall TForm1::CreatingTable(String TheTable)
+{
+
+ if (!mysql_query(MySQL, TheTable.c_str()))
+  return true;
+ else
+  return false;
+}
+//---------------------------------------------------------------------------
+bool __fastcall TForm1::GetExtendedStatus()
+{
+  if (!ya && !preport)
+   return true;
+
+  MYSQL_RES *res;
+  MYSQL_ROW row;
+  unsigned int i;
+  int k = 1;
+  new_line=1;
+  bool left = true;
+  bool open_tables = false;
+  bool open_files = false;
+  bool uptime = false;
+  bool running_threads = false;
+  bool open_streams = false;
+  bool slow_queries = false;
+  bool opened_tables = false;
+  bool questions = false;
+
+  AnsiString report;
+  if (yy)
+  StringGrid5->RowCount = 2;
+
+   if (mysql_query(MySQL,"show status") ||
+	  !(res=mysql_store_result(MySQL)))
+      {
+        return false;
+      }
+
+      while ((row=mysql_fetch_row(res)) != 0)
+       {
+         mysql_field_seek(res,0);
+
+         StringGrid5->Cells[0][0] = "Variable Name";
+         StringGrid5->Cells[1][0] = "Value";
+
+
+         for (i=0 ; i < mysql_num_fields(res); i++)
+          {
+
+             if (left)
+              {
+                 if (preport)
+                 report = GetString(row[i]);
+                 if ( (String) row[i] ==  "Open_tables")
+                   open_tables = true;
+                 else
+                   open_tables = false;
+                 if ( (String) row[i] ==  "Open_files")
+                   open_files = true;
+                 else
+                   open_files = false;
+                 if ((String) row[i] == "Uptime")
+                   uptime = true;
+                 else
+                   uptime = false;
+
+                 if ( (String) row[i] == "Opened_tables")
+                    opened_tables = true;
+                 else
+                    opened_tables = false;
+
+                 if ( (String) row[i] == "Threads_running" || (String) row[i] == "Running_threads")
+                    running_threads = true;
+                 else
+                    running_threads = false;
+
+                 if ( (String) row[i] == "Open_streams")
+                    open_streams = true;
+                 else
+                    open_streams = false;
+
+                 if ( (String) row[i] == "Slow_queries")
+                    slow_queries = true;
+                 else
+                    slow_queries = false;
+
+                 if ( (String) row[i] == "Questions")
+                    questions = true;
+                 else
+                    questions = false;
+
+                 if (yy)
+                 StringGrid5->Cells[0][k++] = row[i];
+
+                 left = false;
+              }
+             else
+               {
+                 if (preport)
+                  Memo5->Lines->Add(report + row[i]);
+                 if (open_tables)
+                  st22->Text = row[i];
+                 if (open_files)
+                  st23->Text = row[i];
+                 if (uptime)
+                  nice_time(row[i]);
+                 if (running_threads)
+                  st27->Text = row[i];
+                 if (open_streams)
+                  st24->Text = row[i];
+                 if (slow_queries)
+                  st28->Text = row[i];
+                 if (opened_tables)
+                  st25->Text = row[i];
+                 if (questions){
+                   q++;
+                   st26->Text = StrToInt64(row[i]) - q; }
+
+                 if (yy){
+                 StringGrid5->RowCount++;
+                 StringGrid5->Cells[1][--k] = row[i];
+                 k++; }
+
+                 left = true;
+               }
+
+          }
+
+       }
+
+
+    if (rinit)
+     StringGrid5->RowCount--;
+    mysql_free_result(res);
+    yy = false;
+    return true;
+}
+//---------------------------------------------------------------------------
+void __fastcall TForm1::SpeedButton13Click(TObject *Sender)
+{
+  yy = true;
+ // rinit = true;
+}
+//---------------------------------------------------------------------------
+String  __fastcall TForm1::GetNumberServer()
+{
+ String TheVersion;
+
+ TheVersion  =  mysql_get_server_info(MySQL) ;
+ TheVersion.SetLength(4);
+ return TheVersion;
+
+
+}
+
+//---------------------------------------------------------------------------
+void __fastcall TForm1::KillProcess1Click(TObject *Sender)
+{
+
+  if (IsConnect)
+    KillPID();
+  else
+    Application->MessageBox("The Server must be connected", "WinMySQLadmin 1.0", MB_OK | MB_ICONEXCLAMATION);
+}
+//---------------------------------------------------------------------------
+bool __fastcall TForm1::KillPID()
+{
+  String s  = "Are you sure to kill the process PID no. ";
+  s+= StringGrid2->Cells[0][StringGrid2->Row];
+  s+= " of the USER ";
+  s+= StringGrid2->Cells[1][StringGrid2->Row];
+  unsigned long  xx = mysql_thread_id(MySQL);
+  unsigned long  yy = StrToInt(StringGrid2->Cells[0][StringGrid2->Row]);
+  if ( xx != yy)
+   {
+     if(Application->MessageBox(s.c_str(), "WinMySQLadmin 1.0", MB_YESNOCANCEL | MB_ICONQUESTION	) == IDYES)
+      {
+        if (!mysql_kill(MySQL,yy))
+         {
+          GetProcess();
+          return true;
+         }
+      }
+    }
+  else
+   {
+     Application->MessageBox("From here you can't kill the PID of this tool", "WinMySQLadmin 1.0", MB_OK | MB_ICONEXCLAMATION);
+     return true;
+   }
+ return true;
+}
+void __fastcall TForm1::FlushThreads1Click(TObject *Sender)
+{
+ if (IsConnect)
+  {
+    if (mysql_refresh(MySQL,REFRESH_THREADS))
+      StatusLine->SimpleText = "";
+   }
+}
+//---------------------------------------------------------------------------
+
diff --git a/VC++Files/winmysqladmin/main.h b/VC++Files/winmysqladmin/main.h
new file mode 100644
index 00000000000..dcb8ad60d7b
--- /dev/null
+++ b/VC++Files/winmysqladmin/main.h
@@ -0,0 +1,314 @@
+//---------------------------------------------------------------------------
+#ifndef mainH
+#define mainH
+//---------------------------------------------------------------------------
+#include <Classes.hpp>
+#include <Controls.hpp>
+#include <StdCtrls.hpp>
+#include <Forms.hpp>
+#include <Buttons.hpp>
+#include <ComCtrls.hpp>
+#include <ExtCtrls.hpp>
+#include <Graphics.hpp>
+#include <Grids.hpp>
+#include <ImgList.hpp>
+#include <Menus.hpp>
+#include <Dialogs.hpp>
+#include <string.h>
+
+#define MYWM_NOTIFY         (WM_APP+100)
+#define IDC_MYICON                     1006
+extern HINSTANCE g_hinst;
+LRESULT IconDrawItem(LPDRAWITEMSTRUCT lpdi);
+//---------------------------------------------------------------------------
+class TForm1 : public TForm
+{
+__published:	// IDE-managed Components
+        TStatusBar *StatusLine;
+        TPanel *Panel1;
+        TImage *Image1;
+        TLabel *Label1;
+        TLabel *Label2;
+        TLabel *Label3;
+        TLabel *Label8;
+        TImage *Image3;
+        TImage *Image2;
+        TPageControl *PageControl1;
+        TTabSheet *TabSheet1;
+        TSpeedButton *SpeedButton1;
+        TGroupBox *GroupBox1;
+        TLabel *Label4;
+        TLabel *Label5;
+        TLabel *Label6;
+        TLabel *Label14;
+        TLabel *Label17;
+        TEdit *Localhost;
+        TEdit *Localuser;
+        TEdit *OS;
+        TMemo *Memo2;
+        TEdit *Edit2;
+        TGroupBox *GroupBox2;
+        TMemo *Memo3;
+        TGroupBox *GroupBox3;
+        TLabel *Label13;
+        TLabel *Label15;
+        TLabel *Label16;
+        TLabel *Label7;
+        TLabel *Label47;
+        TLabel *Label44;
+        TLabel *Label42;
+        TLabel *Label45;
+        TEdit *Edit3;
+        TEdit *Edit4;
+        TEdit *Edit5;
+        TEdit *Edit6;
+        TEdit *st29;
+        TEdit *st27;
+        TEdit *st25;
+        TEdit *st28;
+        TTabSheet *TabSheet2;
+        TTabSheet *TabSheet3;
+        TLabel *Label18;
+        TSpeedButton *SpeedButton2;
+        TEdit *BaseDir;
+        TMemo *Memo1;
+        TRadioGroup *RadioGroup1;
+        TRadioButton *ShareVer;
+        TRadioButton *MysqldVer;
+        TRadioButton *OptVer;
+        TRadioButton *NtVer;
+        TButton *Button2;
+        TButton *Button3;
+        TButton *Button1;
+        TTabSheet *TabSheet4;
+        TMemo *Memo4;
+        TButton *Button5;
+        TTabSheet *TabSheet5;
+        TStringGrid *StringGrid1;
+        TButton *Button11;
+        TTabSheet *TabSheet6;
+        TStringGrid *StringGrid2;
+        TButton *Button10;
+        TPopupMenu *PopupMenu1;
+        TMenuItem *Showme1;
+        TMenuItem *N1;
+        TMenuItem *Win9;
+        TMenuItem *Swin9;
+        TMenuItem *N3;
+        TMenuItem *SSW9;
+        TMenuItem *N4;
+        TMenuItem *ShutDownBoth1;
+        TMenuItem *N2;
+        TMenuItem *WinNT;
+        TMenuItem *ShutDownthisTool1;
+        TMenuItem *N5;
+        TMenuItem *StopS;
+        TMenuItem *N6;
+        TMenuItem *RService;
+        TMenuItem *N7;
+        TMenuItem *Standa;
+        TImageList *ImageList1;
+        TTimer *Timer1;
+        TTimer *Timer2;
+        TTimer *Timer3;
+        TSpeedButton *SpeedButton3;
+        TSpeedButton *Extended;
+        TLabel *Label9;
+        TEdit *st26;
+        TLabel *Label43;
+        TEdit *st24;
+        TLabel *Label41;
+        TEdit *st23;
+        TLabel *Label40;
+        TEdit *st22;
+        TLabel *Label39;
+        TTabSheet *TabSheet8;
+        TSaveDialog *SaveFileDialog;
+        TPrinterSetupDialog *PrinterSetupDialog1;
+        TPrintDialog *PrintDialog1;
+        TRichEdit *Memo5;
+        TGroupBox *GroupBox5;
+        TSpeedButton *SpeedButton4;
+        TSpeedButton *SpeedButton5;
+        TSpeedButton *SpeedButton7;
+        TSpeedButton *SpeedButton6;
+        TGroupBox *GroupBox6;
+        TSpeedButton *SpeedButton8;
+        TSpeedButton *SpeedButton9;
+        TSpeedButton *SpeedButton10;
+        TSpeedButton *SpeedButton11;
+        TSpeedButton *SpeedButton12;
+        TTabSheet *TabSheet9;
+        TImageList *ImageList2;
+        TPopupMenu *PopupMenu2;
+        TMenuItem *CreateDatabaseS;
+        TMenuItem *DeleteDatabaseS;
+        TMenuItem *RefreshS;
+        TMenuItem *N8;
+        TMenuItem *N9;
+        TMenuItem *N10;
+        TGroupBox *GroupBox7;
+        TTreeView *DBView;
+        TGroupBox *GroupBox8;
+        TTreeView *TableView;
+        TGroupBox *GroupBox9;
+        TStringGrid *StringGrid4;
+        TMenuItem *FlushHosts1;
+        TMenuItem *N11;
+        TMenuItem *FlushLogs1;
+        TMenuItem *N12;
+        TMenuItem *FlushTables1;
+        TGroupBox *GroupBox10;
+        TStringGrid *StringGrid3;
+        TImage *Image5;
+        TStringGrid *StringGrid5;
+        TSpeedButton *SpeedButton13;
+        TPopupMenu *PopupMenu4;
+        TMenuItem *KillProcess1;
+        TMenuItem *N13;
+        TMenuItem *FlushThreads1;
+        void __fastcall FormCreate(TObject *Sender);
+        void __fastcall Showme1Click(TObject *Sender);
+        void __fastcall Timer1Timer(TObject *Sender);
+        void __fastcall SpeedButton1Click(TObject *Sender);
+        void __fastcall Timer2Timer(TObject *Sender);
+        void __fastcall Swin9Click(TObject *Sender);
+        void __fastcall SSW9Click(TObject *Sender);
+        void __fastcall ShutDownBoth1Click(TObject *Sender);
+        void __fastcall ShutDownthisTool1Click(TObject *Sender);
+        void __fastcall StopSClick(TObject *Sender);
+        void __fastcall RServiceClick(TObject *Sender);
+        void __fastcall StandaClick(TObject *Sender);
+        void __fastcall Button5Click(TObject *Sender);
+        void __fastcall Timer3Timer(TObject *Sender);
+        void __fastcall Button11Click(TObject *Sender);
+        void __fastcall Button10Click(TObject *Sender);
+        void __fastcall Button6Click(TObject *Sender);
+        void __fastcall Button7Click(TObject *Sender);
+        void __fastcall Button8Click(TObject *Sender);
+
+        void __fastcall Button2Click(TObject *Sender);
+        void __fastcall Button3Click(TObject *Sender);
+        void __fastcall Button1Click(TObject *Sender);
+        void __fastcall SpeedButton2Click(TObject *Sender);
+        void __fastcall Button4Click(TObject *Sender);
+        void __fastcall SpeedButton3Click(TObject *Sender);
+        void __fastcall ExtendedClick(TObject *Sender);
+        void __fastcall SpeedButton4Click(TObject *Sender);
+        void __fastcall SpeedButton5Click(TObject *Sender);
+        void __fastcall SpeedButton6Click(TObject *Sender);
+        void __fastcall SpeedButton7Click(TObject *Sender);
+        void __fastcall SpeedButton8Click(TObject *Sender);
+        void __fastcall SpeedButton9Click(TObject *Sender);
+        void __fastcall SpeedButton10Click(TObject *Sender);
+        void __fastcall SpeedButton11Click(TObject *Sender);
+        void __fastcall SpeedButton12Click(TObject *Sender);
+        void __fastcall DeleteDatabaseSClick(TObject *Sender);
+        void __fastcall DBViewClick(TObject *Sender);
+        void __fastcall TableViewClick(TObject *Sender);
+        void __fastcall TableViewChange(TObject *Sender, TTreeNode *Node);
+        void __fastcall DBViewChange(TObject *Sender, TTreeNode *Node);
+      
+        void __fastcall RefreshSClick(TObject *Sender);
+        void __fastcall CreateDatabaseSClick(TObject *Sender);
+        void __fastcall FlushHosts1Click(TObject *Sender);
+        void __fastcall FlushLogs1Click(TObject *Sender);
+        void __fastcall FlushTables1Click(TObject *Sender);
+        void __fastcall SpeedButton13Click(TObject *Sender);
+        void __fastcall KillProcess1Click(TObject *Sender);
+        void __fastcall FlushThreads1Click(TObject *Sender);
+
+
+
+       
+
+
+        
+private:	// User declarations
+        void __fastcall DrawItem(TMessage& Msg);
+        void __fastcall MyNotify(TMessage& Msg);
+        bool __fastcall TrayMessage(DWORD dwMessage);
+        HANDLE __fastcall IconHandle(void);
+        void __fastcall ToggleState(void);
+        PSTR __fastcall TipText(void);
+        void __fastcall WMQueryEndSession(TWMQueryEndSession &msg);
+        AnsiString __fastcall TheComputer();
+        AnsiString __fastcall TheUser();
+        AnsiString __fastcall TheOS();
+        void __fastcall TakeIP(void);
+        void __fastcall GetmemStatus(void);
+        void __fastcall ShowHelp(void);
+        void __fastcall ContinueLoad(void);
+        void __fastcall MyODBC(void);
+        void __fastcall IsMyIniUp(void);
+        void __fastcall QuickSearch(void);
+        AnsiString __fastcall TheWinDir();
+        void __fastcall FillMyIni(void);
+        void __fastcall GetBaseDir(void);
+        bool __fastcall MySQLSignal();
+        bool __fastcall mysqldstart();
+        bool __fastcall SeekErrFile();
+        AnsiString __fastcall TheDir();
+        bool __fastcall TheServiceStart();
+        bool __fastcall TheServicePause();
+        bool __fastcall TheServiceResume();
+        bool __fastcall TheServiceStatus();
+        bool __fastcall TheServiceCreate();
+        bool __fastcall TheServiceRemove();
+        bool __fastcall Shutd();
+        void __fastcall ClearBox(void);
+        bool __fastcall TheServerPath();
+        void __fastcall GetServerOptions(void);
+        void __fastcall GetReportServer(void);
+
+
+        TFileStream *MyFile;
+        String FName;
+
+        void __fastcall IsMySQLInit(void);
+        void __fastcall GetServerStatus(void);
+        bool __fastcall GetExtendedStatus();
+        bool __fastcall GetProcess();
+        bool __fastcall GetVariables();
+        bool __fastcall nice_time(AnsiString buff);
+        String  __fastcall GetString(String k);
+        String  __fastcall GetNumberServer();
+        // pointers for database screen
+        TTreeNode *MySQLNode, *MySQLDbs, *MySQLNodeT,  *MySQLTbs;
+
+        bool __fastcall GetMainRoot();
+        bool __fastcall IsDatabase(String Name);
+        bool __fastcall IsTable(String Name);
+        void __fastcall CleanTree(void);
+        void __fastcall CleanGrid(void);
+        bool __fastcall IsIndex(String Name);
+        void __fastcall CleanGridI(void);
+        bool __fastcall KillPID();
+
+
+
+public:		// User declarations
+      __fastcall TForm1(TComponent* Owner);
+      void __fastcall GetServerFile(void);
+      void __fastcall CreateMyIniFile(void);
+      bool __fastcall CreatingShortCut();
+      bool __fastcall CreatingDB();
+      void __fastcall OutRefresh(void);
+      bool __fastcall CreatingTable(String TheTable);
+
+      bool IsConnect ;
+
+      
+
+      STARTUPINFO si;
+      PROCESS_INFORMATION pi;
+      BEGIN_MESSAGE_MAP
+      MESSAGE_HANDLER(WM_DRAWITEM,TMessage,DrawItem)
+      MESSAGE_HANDLER(MYWM_NOTIFY,TMessage,MyNotify)
+      MESSAGE_HANDLER(WM_QUERYENDSESSION,TWMQueryEndSession,WMQueryEndSession)
+      END_MESSAGE_MAP(TForm)
+};
+//---------------------------------------------------------------------------
+extern PACKAGE TForm1 *Form1;
+//---------------------------------------------------------------------------
+#endif
diff --git a/VC++Files/winmysqladmin/mysql.h b/VC++Files/winmysqladmin/mysql.h
new file mode 100644
index 00000000000..e83babb8fa8
--- /dev/null
+++ b/VC++Files/winmysqladmin/mysql.h
@@ -0,0 +1,293 @@
+/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
+   
+   This library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public
+   License as published by the Free Software Foundation; either
+   version 2 of the License, or (at your option) any later version.
+   
+   This library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+   
+   You should have received a copy of the GNU Library General Public
+   License along with this library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+   MA 02111-1307, USA */
+
+/* defines for the libmysql library */
+
+#ifndef _mysql_h
+#define _mysql_h
+
+#ifndef MYSQL_SERVER
+#ifdef	__cplusplus
+extern "C" {
+#endif
+#endif
+  
+#ifndef _global_h				/* If not standard header */
+#include <sys/types.h>
+typedef char my_bool;
+#if (defined(_WIN32) || defined(_WIN64)) && !defined(__WIN__)
+#define __WIN__
+#endif
+#if !defined(__WIN__)
+#define STDCALL
+#else
+#define STDCALL __stdcall
+#endif
+typedef char * gptr;
+
+#ifndef ST_USED_MEM_DEFINED
+#define ST_USED_MEM_DEFINED
+typedef struct st_used_mem {			/* struct for once_alloc */
+  struct st_used_mem *next;			/* Next block in use */
+  unsigned int	left;				/* memory left in block  */
+  unsigned int	size;				/* size of block */
+} USED_MEM;
+typedef struct st_mem_root {
+  USED_MEM *free;
+  USED_MEM *used;
+  unsigned int	min_malloc;
+  unsigned int	block_size;
+  void (*error_handler)(void);
+} MEM_ROOT;
+#endif
+
+#ifndef my_socket_defined
+#ifdef __WIN__
+#define my_socket SOCKET
+#else
+typedef int my_socket;
+#endif
+#endif
+#endif
+#include "mysql_com.h"
+#include "mysql_version.h"
+
+extern unsigned int mysql_port;
+extern char *mysql_unix_port;
+
+#define IS_PRI_KEY(n)	((n) & PRI_KEY_FLAG)
+#define IS_NOT_NULL(n)	((n) & NOT_NULL_FLAG)
+#define IS_BLOB(n)	((n) & BLOB_FLAG)
+#define IS_NUM(t)	((t) <= FIELD_TYPE_INT24 || (t) == FIELD_TYPE_YEAR)
+
+typedef struct st_mysql_field {
+  char *name;			/* Name of column */
+  char *table;			/* Table of column if column was a field */
+  char *def;			/* Default value (set by mysql_list_fields) */
+  enum enum_field_types type;	/* Type of field. Se mysql_com.h for types */
+  unsigned int length;		/* Width of column */
+  unsigned int max_length;	/* Max width of selected set */
+  unsigned int flags;		/* Div flags */
+  unsigned int decimals;	/* Number of decimals in field */
+} MYSQL_FIELD;
+
+typedef char **MYSQL_ROW;		/* return data as array of strings */
+typedef unsigned int MYSQL_FIELD_OFFSET; /* offset to current field */
+
+#if defined(NO_CLIENT_LONG_LONG)
+typedef unsigned long my_ulonglong;
+#elif defined (__WIN__)
+typedef unsigned __int64 my_ulonglong;
+#else
+typedef unsigned long long my_ulonglong;
+#endif
+
+#define MYSQL_COUNT_ERROR (~(my_ulonglong) 0)
+
+typedef struct st_mysql_rows {
+  struct st_mysql_rows *next;		/* list of rows */
+  MYSQL_ROW data;
+} MYSQL_ROWS;
+
+typedef MYSQL_ROWS *MYSQL_ROW_OFFSET;	/* offset to current row */
+
+typedef struct st_mysql_data {
+  my_ulonglong rows;
+  unsigned int fields;
+  MYSQL_ROWS *data;
+  MEM_ROOT alloc;
+} MYSQL_DATA;
+
+struct st_mysql_options {
+  unsigned int connect_timeout,client_flag;
+  my_bool compress,named_pipe;
+  unsigned int port;
+  char *host,*init_command,*user,*password,*unix_socket,*db;
+  char *my_cnf_file,*my_cnf_group, *charset_dir, *charset_name;
+  my_bool use_ssl;				/* if to use SSL or not */
+  char *ssl_key;				/* PEM key file */
+  char *ssl_cert;				/* PEM cert file */
+  char *ssl_ca;					/* PEM CA file */
+  char *ssl_capath;				/* PEM directory of CA-s? */
+};
+
+enum mysql_option { MYSQL_OPT_CONNECT_TIMEOUT, MYSQL_OPT_COMPRESS,
+		    MYSQL_OPT_NAMED_PIPE, MYSQL_INIT_COMMAND,
+		    MYSQL_READ_DEFAULT_FILE, MYSQL_READ_DEFAULT_GROUP,
+		    MYSQL_SET_CHARSET_DIR, MYSQL_SET_CHARSET_NAME};
+
+enum mysql_status { MYSQL_STATUS_READY,MYSQL_STATUS_GET_RESULT,
+		    MYSQL_STATUS_USE_RESULT};
+
+typedef struct st_mysql {
+  NET		net;			/* Communication parameters */
+  gptr		connector_fd;		/* ConnectorFd for SSL */
+  char		*host,*user,*passwd,*unix_socket,*server_version,*host_info,
+		*info,*db;
+  unsigned int	port,client_flag,server_capabilities;
+  unsigned int	protocol_version;
+  unsigned int	field_count;
+  unsigned int 	server_status;
+  unsigned long thread_id;		/* Id for connection in server */
+  my_ulonglong affected_rows;
+  my_ulonglong insert_id;		/* id if insert on table with NEXTNR */
+  my_ulonglong extra_info;		/* Used by mysqlshow */
+  unsigned long packet_length;
+  enum mysql_status status;
+  MYSQL_FIELD	*fields;
+  MEM_ROOT	field_alloc;
+  my_bool	free_me;		/* If free in mysql_close */
+  my_bool	reconnect;		/* set to 1 if automatic reconnect */
+  struct st_mysql_options options;
+  char	        scramble_buff[9];
+  struct charset_info_st *charset;
+  unsigned int  server_language;
+} MYSQL;
+
+
+typedef struct st_mysql_res {
+  my_ulonglong row_count;
+  unsigned int	field_count, current_field;
+  MYSQL_FIELD	*fields;
+  MYSQL_DATA	*data;
+  MYSQL_ROWS	*data_cursor;
+  MEM_ROOT	field_alloc;
+  MYSQL_ROW	row;			/* If unbuffered read */
+  MYSQL_ROW	current_row;		/* buffer to current row */
+  unsigned long *lengths;		/* column lengths of current row */
+  MYSQL		*handle;		/* for unbuffered reads */
+  my_bool	eof;			/* Used my mysql_fetch_row */
+} MYSQL_RES;
+
+/* Functions to get information from the MYSQL and MYSQL_RES structures */
+/* Should definitely be used if one uses shared libraries */
+
+my_ulonglong STDCALL mysql_num_rows(MYSQL_RES *res);
+unsigned int STDCALL mysql_num_fields(MYSQL_RES *res);
+my_bool STDCALL mysql_eof(MYSQL_RES *res);
+MYSQL_FIELD *STDCALL mysql_fetch_field_direct(MYSQL_RES *res,
+					      unsigned int fieldnr);
+MYSQL_FIELD * STDCALL mysql_fetch_fields(MYSQL_RES *res);
+MYSQL_ROWS * STDCALL mysql_row_tell(MYSQL_RES *res);
+unsigned int STDCALL mysql_field_tell(MYSQL_RES *res);
+
+unsigned int STDCALL mysql_field_count(MYSQL *mysql);
+my_ulonglong STDCALL mysql_affected_rows(MYSQL *mysql);
+my_ulonglong STDCALL mysql_insert_id(MYSQL *mysql);
+unsigned int STDCALL mysql_errno(MYSQL *mysql);
+char * STDCALL mysql_error(MYSQL *mysql);
+char * STDCALL mysql_info(MYSQL *mysql);
+unsigned long STDCALL mysql_thread_id(MYSQL *mysql);
+const char * STDCALL mysql_character_set_name(MYSQL *mysql);
+
+MYSQL *		STDCALL mysql_init(MYSQL *mysql);
+#ifdef HAVE_OPENSSL
+int		STDCALL mysql_ssl_set(MYSQL *mysql, const char *key,
+				      const char *cert, const char *ca,
+				      const char *capath);
+char *		STDCALL mysql_ssl_cipher(MYSQL *mysql);
+int		STDCALL mysql_ssl_clear(MYSQL *mysql);
+#endif /* HAVE_OPENSSL */
+MYSQL *		STDCALL mysql_connect(MYSQL *mysql, const char *host,
+				      const char *user, const char *passwd);
+my_bool		STDCALL mysql_change_user(MYSQL *mysql, const char *user, 
+					  const char *passwd, const char *db);
+#if MYSQL_VERSION_ID >= 32200
+MYSQL *		STDCALL mysql_real_connect(MYSQL *mysql, const char *host,
+					   const char *user,
+					   const char *passwd,
+					   const char *db,
+					   unsigned int port,
+					   const char *unix_socket,
+					   unsigned int clientflag);
+#else
+MYSQL *		STDCALL mysql_real_connect(MYSQL *mysql, const char *host,
+					   const char *user,
+					   const char *passwd,
+					   unsigned int port,
+					   const char *unix_socket,
+					   unsigned int clientflag);
+#endif
+void		STDCALL mysql_close(MYSQL *sock);
+int		STDCALL mysql_select_db(MYSQL *mysql, const char *db);
+int		STDCALL mysql_query(MYSQL *mysql, const char *q);
+int		STDCALL mysql_real_query(MYSQL *mysql, const char *q,
+					unsigned int length);
+int		STDCALL mysql_create_db(MYSQL *mysql, const char *DB);
+int		STDCALL mysql_drop_db(MYSQL *mysql, const char *DB);
+int		STDCALL mysql_shutdown(MYSQL *mysql);
+int		STDCALL mysql_dump_debug_info(MYSQL *mysql);
+int		STDCALL mysql_refresh(MYSQL *mysql,
+				     unsigned int refresh_options);
+int		STDCALL mysql_kill(MYSQL *mysql,unsigned long pid);
+int		STDCALL mysql_ping(MYSQL *mysql);
+char *		STDCALL mysql_stat(MYSQL *mysql);
+char *		STDCALL mysql_get_server_info(MYSQL *mysql);
+char *		STDCALL mysql_get_client_info(void);
+char *		STDCALL mysql_get_host_info(MYSQL *mysql);
+unsigned int	STDCALL mysql_get_proto_info(MYSQL *mysql);
+MYSQL_RES *	STDCALL mysql_list_dbs(MYSQL *mysql,const char *wild);
+MYSQL_RES *	STDCALL mysql_list_tables(MYSQL *mysql,const char *wild);
+MYSQL_RES *	STDCALL mysql_list_fields(MYSQL *mysql, const char *table,
+					 const char *wild);
+MYSQL_RES *	STDCALL mysql_list_processes(MYSQL *mysql);
+MYSQL_RES *	STDCALL mysql_store_result(MYSQL *mysql);
+MYSQL_RES *	STDCALL mysql_use_result(MYSQL *mysql);
+int		STDCALL mysql_options(MYSQL *mysql,enum mysql_option option,
+				      const char *arg);
+void		STDCALL mysql_free_result(MYSQL_RES *result);
+void		STDCALL mysql_data_seek(MYSQL_RES *result,
+					my_ulonglong offset);
+MYSQL_ROW_OFFSET STDCALL mysql_row_seek(MYSQL_RES *result, MYSQL_ROW_OFFSET);
+MYSQL_FIELD_OFFSET STDCALL mysql_field_seek(MYSQL_RES *result,
+					   MYSQL_FIELD_OFFSET offset);
+MYSQL_ROW	STDCALL mysql_fetch_row(MYSQL_RES *result);
+unsigned long * STDCALL mysql_fetch_lengths(MYSQL_RES *result);
+MYSQL_FIELD *	STDCALL mysql_fetch_field(MYSQL_RES *result);
+unsigned long	STDCALL mysql_escape_string(char *to,const char *from,
+					    unsigned long from_length);
+unsigned long STDCALL mysql_real_escape_string(MYSQL *mysql,
+					       char *to,const char *from,
+					       unsigned long length);
+void		STDCALL mysql_debug(const char *debug);
+char *		STDCALL mysql_odbc_escape_string(MYSQL *mysql,
+						 char *to,
+						 unsigned long to_length,
+						 const char *from,
+						 unsigned long from_length,
+						 void *param,
+						 char *
+						 (*extend_buffer)
+						 (void *, char *to,
+						  unsigned long *length));
+void 		STDCALL myodbc_remove_escape(MYSQL *mysql,char *name);
+unsigned int	STDCALL mysql_thread_safe(void);
+
+  
+#define mysql_reload(mysql) mysql_refresh((mysql),REFRESH_GRANT)
+
+/* new api functions */
+
+#define HAVE_MYSQL_REAL_CONNECT
+
+#ifndef MYSQL_SERVER  
+#ifdef	__cplusplus
+}
+#endif
+#endif
+
+#endif
diff --git a/VC++Files/winmysqladmin/mysql_com.h b/VC++Files/winmysqladmin/mysql_com.h
new file mode 100644
index 00000000000..2a1471f735d
--- /dev/null
+++ b/VC++Files/winmysqladmin/mysql_com.h
@@ -0,0 +1,242 @@
+/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
+   
+   This library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public
+   License as published by the Free Software Foundation; either
+   version 2 of the License, or (at your option) any later version.
+   
+   This library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+   
+   You should have received a copy of the GNU Library General Public
+   License along with this library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+   MA 02111-1307, USA */
+
+/*
+** Common definition between mysql server & client
+*/
+
+#ifndef _mysql_com_h
+#define _mysql_com_h
+
+
+#define NAME_LEN	64		/* Field/table name length */
+#define HOSTNAME_LENGTH 60
+#define USERNAME_LENGTH 16
+
+#define LOCAL_HOST	"localhost"
+#define LOCAL_HOST_NAMEDPIPE "."
+
+#if defined(__EMX__) || defined(__OS2__)
+#undef MYSQL_UNIX_ADDR
+#define MYSQL_OS2_ADDR "\\socket\\MySQL"
+#define MYSQL_UNIX_ADDR MYSQL_OS2_ADDR
+#endif
+#if defined(__WIN__) && !defined( _CUSTOMCONFIG_)
+#define MYSQL_NAMEDPIPE "MySQL"
+#define MYSQL_SERVICENAME "MySql"
+#endif /* __WIN__ */
+
+enum enum_server_command {COM_SLEEP,COM_QUIT,COM_INIT_DB,COM_QUERY,
+			  COM_FIELD_LIST,COM_CREATE_DB,COM_DROP_DB,COM_REFRESH,
+			  COM_SHUTDOWN,COM_STATISTICS,
+			  COM_PROCESS_INFO,COM_CONNECT,COM_PROCESS_KILL,
+			  COM_DEBUG,COM_PING,COM_TIME,COM_DELAYED_INSERT,
+			  COM_CHANGE_USER, COM_BINLOG_DUMP,
+                          COM_TABLE_DUMP};
+
+#define NOT_NULL_FLAG	1		/* Field can't be NULL */
+#define PRI_KEY_FLAG	2		/* Field is part of a primary key */
+#define UNIQUE_KEY_FLAG 4		/* Field is part of a unique key */
+#define MULTIPLE_KEY_FLAG 8		/* Field is part of a key */
+#define BLOB_FLAG	16		/* Field is a blob */
+#define UNSIGNED_FLAG	32		/* Field is unsigned */
+#define ZEROFILL_FLAG	64		/* Field is zerofill */
+#define BINARY_FLAG	128
+/* The following are only sent to new clients */
+#define ENUM_FLAG	256		/* field is an enum */
+#define AUTO_INCREMENT_FLAG 512		/* field is a autoincrement field */
+#define TIMESTAMP_FLAG	1024		/* Field is a timestamp */
+#define SET_FLAG	2048		/* field is a set */
+#define PART_KEY_FLAG	16384		/* Intern; Part of some key */
+#define GROUP_FLAG	32768		/* Intern: Group field */
+#define UNIQUE_FLAG	65536		/* Intern: Used by sql_yacc */
+
+#define REFRESH_GRANT		1	/* Refresh grant tables */
+#define REFRESH_LOG		2	/* Start on new log file */
+#define REFRESH_TABLES		4	/* close all tables */
+#define REFRESH_HOSTS		8	/* Flush host cache */
+#define REFRESH_STATUS		16	/* Flush status variables */
+#define REFRESH_THREADS		32	/* Flush status variables */
+#define REFRESH_SLAVE           64      /* Reset master info and restart slave
+					   thread */
+#define REFRESH_MASTER          128     /* Remove all bin logs in the index
+					   and truncate the index */
+
+/* The following can't be set with mysql_refresh() */
+#define REFRESH_READ_LOCK	16384	/* Lock tables for read */
+#define REFRESH_FAST		32768	/* Intern flag */
+
+#define CLIENT_LONG_PASSWORD	1	/* new more secure passwords */
+#define CLIENT_FOUND_ROWS	2	/* Found instead of affected rows */
+#define CLIENT_LONG_FLAG	4	/* Get all column flags */
+#define CLIENT_CONNECT_WITH_DB	8	/* One can specify db on connect */
+#define CLIENT_NO_SCHEMA	16	/* Don't allow database.table.column */
+#define CLIENT_COMPRESS		32	/* Can use compression protocol */
+#define CLIENT_ODBC		64	/* Odbc client */
+#define CLIENT_LOCAL_FILES	128	/* Can use LOAD DATA LOCAL */
+#define CLIENT_IGNORE_SPACE	256	/* Ignore spaces before '(' */
+#define CLIENT_CHANGE_USER	512	/* Support the mysql_change_user() */
+#define CLIENT_INTERACTIVE	1024	/* This is an interactive client */
+#define CLIENT_SSL              2048     /* Switch to SSL after handshake */
+#define CLIENT_IGNORE_SIGPIPE   4096     /* IGNORE sigpipes */
+#define CLIENT_TRANSACTIONS	8196	/* Client knows about transactions */
+
+#define SERVER_STATUS_IN_TRANS  1	/* Transaction has started */
+#define SERVER_STATUS_AUTOCOMMIT 2	/* Server in auto_commit mode */
+
+#define MYSQL_ERRMSG_SIZE	200
+#define NET_READ_TIMEOUT	30		/* Timeout on read */
+#define NET_WRITE_TIMEOUT	60		/* Timeout on write */
+#define NET_WAIT_TIMEOUT	8*60*60		/* Wait for new query */
+
+#ifndef Vio_defined
+#define Vio_defined
+#ifdef HAVE_VIO
+class Vio;					/* Fill Vio class in C++ */
+#else
+struct st_vio;					/* Only C */
+typedef struct st_vio Vio;
+#endif
+#endif
+
+typedef struct st_net {
+  Vio* vio;
+  my_socket fd;					/* For Perl DBI/dbd */
+  int fcntl;
+  unsigned char *buff,*buff_end,*write_pos,*read_pos;
+  char last_error[MYSQL_ERRMSG_SIZE];
+  unsigned int last_errno,max_packet,timeout,pkt_nr;
+  unsigned char error;
+  my_bool return_errno,compress;
+  my_bool no_send_ok; /* needed if we are doing several
+   queries in one command ( as in LOAD TABLE ... FROM MASTER ),
+   and do not want to confuse the client with OK at the wrong time
+		      */
+  unsigned long remain_in_buf,length, buf_length, where_b;
+  unsigned int *return_status;
+  unsigned char reading_or_writing;
+  char save_char;
+} NET;
+
+#define packet_error ((unsigned int) -1)
+
+enum enum_field_types { FIELD_TYPE_DECIMAL, FIELD_TYPE_TINY,
+			FIELD_TYPE_SHORT,  FIELD_TYPE_LONG,
+			FIELD_TYPE_FLOAT,  FIELD_TYPE_DOUBLE,
+			FIELD_TYPE_NULL,   FIELD_TYPE_TIMESTAMP,
+			FIELD_TYPE_LONGLONG,FIELD_TYPE_INT24,
+			FIELD_TYPE_DATE,   FIELD_TYPE_TIME,
+			FIELD_TYPE_DATETIME, FIELD_TYPE_YEAR,
+			FIELD_TYPE_NEWDATE,
+			FIELD_TYPE_ENUM=247,
+			FIELD_TYPE_SET=248,
+			FIELD_TYPE_TINY_BLOB=249,
+			FIELD_TYPE_MEDIUM_BLOB=250,
+			FIELD_TYPE_LONG_BLOB=251,
+			FIELD_TYPE_BLOB=252,
+			FIELD_TYPE_VAR_STRING=253,
+			FIELD_TYPE_STRING=254
+};
+
+#define FIELD_TYPE_CHAR FIELD_TYPE_TINY		/* For compability */
+#define FIELD_TYPE_INTERVAL FIELD_TYPE_ENUM	/* For compability */
+
+extern unsigned long max_allowed_packet;
+extern unsigned long net_buffer_length;
+
+#define net_new_transaction(net) ((net)->pkt_nr=0)
+
+int	my_net_init(NET *net, Vio* vio);
+void	net_end(NET *net);
+void	net_clear(NET *net);
+int	net_flush(NET *net);
+int	my_net_write(NET *net,const char *packet,unsigned long len);
+int	net_write_command(NET *net,unsigned char command,const char *packet,
+			  unsigned long len);
+int	net_real_write(NET *net,const char *packet,unsigned long len);
+unsigned int	my_net_read(NET *net);
+
+struct rand_struct {
+  unsigned long seed1,seed2,max_value;
+  double max_value_dbl;
+};
+
+  /* The following is for user defined functions */
+
+enum Item_result {STRING_RESULT,REAL_RESULT,INT_RESULT};
+
+typedef struct st_udf_args
+{
+  unsigned int arg_count;		/* Number of arguments */
+  enum Item_result *arg_type;		/* Pointer to item_results */
+  char **args;				/* Pointer to argument */
+  unsigned long *lengths;		/* Length of string arguments */
+  char *maybe_null;			/* Set to 1 for all maybe_null args */
+} UDF_ARGS;
+
+  /* This holds information about the result */
+
+typedef struct st_udf_init
+{
+  my_bool maybe_null;			/* 1 if function can return NULL */
+  unsigned int decimals;		/* for real functions */
+  unsigned int max_length;		/* For string functions */
+  char	  *ptr;				/* free pointer for function data */
+  my_bool const_item;			/* 0 if result is independent of arguments */
+} UDF_INIT;
+
+  /* Constants when using compression */
+#define NET_HEADER_SIZE 4		/* standard header size */
+#define COMP_HEADER_SIZE 3		/* compression header extra size */
+
+  /* Prototypes to password functions */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+  
+void randominit(struct rand_struct *,unsigned long seed1,
+		unsigned long seed2);
+double rnd(struct rand_struct *);
+void make_scrambled_password(char *to,const char *password);
+void get_salt_from_password(unsigned long *res,const char *password);
+void make_password_from_salt(char *to, unsigned long *hash_res);
+char *scramble(char *to,const char *message,const char *password,
+	       my_bool old_ver);
+my_bool check_scramble(const char *, const char *message,
+		       unsigned long *salt,my_bool old_ver);
+char *get_tty_password(char *opt_message);
+void hash_password(unsigned long *result, const char *password);
+#ifdef __cplusplus
+}
+#endif
+
+/* Some other useful functions */
+
+void my_init(void);
+void load_defaults(const char *conf_file, const char **groups,
+		   int *argc, char ***argv);
+
+#define NULL_LENGTH ((unsigned long) ~0) /* For net_store_length */
+
+#ifdef __WIN__
+#define socket_errno WSAGetLastError()
+#else
+#define socket_errno errno
+#endif
+
+#endif
diff --git a/VC++Files/winmysqladmin/mysql_version.h b/VC++Files/winmysqladmin/mysql_version.h
new file mode 100644
index 00000000000..1f868704fe8
--- /dev/null
+++ b/VC++Files/winmysqladmin/mysql_version.h
@@ -0,0 +1,20 @@
+/* Copyright Abandoned 1996,1999 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
+
+/* Version numbers for protocol & mysqld */
+
+#ifdef _CUSTOMCONFIG_
+	#include <custom_conf.h>
+#else
+#define PROTOCOL_VERSION		10
+#define MYSQL_SERVER_VERSION		"3.23.22-beta"
+#define FRM_VER				6
+#define MYSQL_VERSION_ID		32322
+#define MYSQL_PORT			3306
+#define MYSQL_UNIX_ADDR			"/tmp/mysql.sock"
+
+/* mysqld compile time options */
+#ifndef MYSQL_CHARSET
+#define MYSQL_CHARSET			"latin1"
+#endif
+#endif
diff --git a/VC++Files/winmysqladmin/winmysqladmin.cpp b/VC++Files/winmysqladmin/winmysqladmin.cpp
new file mode 100644
index 00000000000..591b7518fa3
--- /dev/null
+++ b/VC++Files/winmysqladmin/winmysqladmin.cpp
@@ -0,0 +1,38 @@
+//---------------------------------------------------------------------------
+#include <vcl.h>
+#pragma hdrstop
+HINSTANCE g_hinst;
+USERES("winmysqladmin.res");
+USEFORM("main.cpp", Form1);
+USEFORM("initsetup.cpp", Form2);
+USEFORM("db.cpp", dbfrm);
+USELIB("lib\mysqlclient.lib");
+USELIB("lib\myisammrg.lib");
+USELIB("lib\heap.lib");
+USELIB("lib\isam.lib");
+USELIB("lib\merge.lib");
+USELIB("lib\myisam.lib");
+USELIB("lib\mysys.lib");
+USELIB("lib\regex.lib");
+USELIB("lib\strings.lib");
+USELIB("lib\zlib.lib");
+//---------------------------------------------------------------------------
+WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
+{
+        try
+        {
+                 Application->Initialize();
+                 Application->HelpFile = "C:\\mysql\\bin\\WINMYSQLADMIN.HLP";
+                 Application->Title = "WinMySQLadmin 1.0";
+                 Application->CreateForm(__classid(TForm1), &Form1);
+                 Application->CreateForm(__classid(TForm2), &Form2);
+                 Application->CreateForm(__classid(Tdbfrm), &dbfrm);
+                 Application->Run();
+        }
+        catch (Exception &exception)
+        {
+                 Application->ShowException(&exception);
+        }
+        return 0;
+}
+//---------------------------------------------------------------------------
diff --git a/VC++Files/zlib/zlib.dsp b/VC++Files/zlib/zlib.dsp
index 5a596b41f32..b46afad005c 100644
--- a/VC++Files/zlib/zlib.dsp
+++ b/VC++Files/zlib/zlib.dsp
@@ -65,8 +65,7 @@ LIB32=link.exe -lib
 # PROP Intermediate_Dir "debug"
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /G6 /MTd /W3 /ZI /Od /D "_DEBUG" /D "__WIN32__" /D "_WINDOWS" /FD /c
-# SUBTRACT CPP /YX
+# ADD CPP /nologo /G6 /MTd /W3 /Zi /Od /D "_DEBUG" /D "__WIN32__" /D "_WINDOWS" /FD /c
 # ADD BASE RSC /l 0x409
 # ADD RSC /l 0x409
 BSC32=bscmake.exe
diff --git a/include/config-win.h b/include/config-win.h
index 12a89bec21b..c0d0dad894e 100644
--- a/include/config-win.h
+++ b/include/config-win.h
@@ -24,11 +24,11 @@
 #include <malloc.h>
 
 #if defined(__NT__)
-#define	SYSTEM_TYPE	"NT"
+#define SYSTEM_TYPE	"NT"
 #elif defined(__WIN2000__)
-#define	SYSTEM_TYPE	"WIN2000"
+#define SYSTEM_TYPE	"WIN2000"
 #else
-#define	SYSTEM_TYPE	"Win95/Win98"
+#define SYSTEM_TYPE	"Win95/Win98"
 #endif
 
 #if defined(_WIN64) || defined(WIN64)
@@ -43,23 +43,23 @@
 #endif
 #endif /* _WIN64 */
 #ifndef __WIN__
-#define __WIN__                       /* To make it easier in VC++ */
+#define __WIN__			      /* To make it easier in VC++ */
 #endif
 
 /* File and lock constants */
-#define O_SHARE         0x1000 		/* Open file in sharing mode */
+#define O_SHARE		0x1000		/* Open file in sharing mode */
 #ifdef __BORLANDC__
-#define	F_RDLCK		LK_NBLCK	/* read lock */
-#define	F_WRLCK		LK_NBRLCK	/* write lock */
-#define	F_UNLCK		LK_UNLCK	/* remove lock(s) */
+#define F_RDLCK		LK_NBLCK	/* read lock */
+#define F_WRLCK		LK_NBRLCK	/* write lock */
+#define F_UNLCK		LK_UNLCK	/* remove lock(s) */
 #else
-#define	F_RDLCK		_LK_NBLCK	/* read lock */
-#define	F_WRLCK		_LK_NBRLCK	/* write lock */
-#define	F_UNLCK		_LK_UNLCK	/* remove lock(s) */
+#define F_RDLCK		_LK_NBLCK	/* read lock */
+#define F_WRLCK		_LK_NBRLCK	/* write lock */
+#define F_UNLCK		_LK_UNLCK	/* remove lock(s) */
 #endif
 
-#define F_EXCLUSIVE     1		/* We have only exclusive locking */
-#define F_TO_EOF        (INT_MAX32/2)   /* size for lock of all file */
+#define F_EXCLUSIVE	1		/* We have only exclusive locking */
+#define F_TO_EOF	(INT_MAX32/2)	/* size for lock of all file */
 #define F_OK		0		/* parameter to access() */
 
 #define S_IROTH		S_IREAD		/* for my_lib */
@@ -70,15 +70,15 @@
 #define O_SHORT_LIVED	0
 #define SH_DENYNO	_SH_DENYNO
 #else
-#define O_BINARY        _O_BINARY       /* compability with MSDOS */
-#define FILE_BINARY     _O_BINARY       /* my_fopen in binary mode */
-#define O_TEMPORARY     _O_TEMPORARY
-#define O_SHORT_LIVED   _O_SHORT_LIVED
-#define SH_DENYNO       _SH_DENYNO
+#define O_BINARY	_O_BINARY	/* compability with MSDOS */
+#define FILE_BINARY	_O_BINARY	/* my_fopen in binary mode */
+#define O_TEMPORARY	_O_TEMPORARY
+#define O_SHORT_LIVED	_O_SHORT_LIVED
+#define SH_DENYNO	_SH_DENYNO
 #endif
 #define NO_OPEN_3			/* For my_create() */
 
-#define	SIGQUIT		SIGTERM		/* No SIGQUIT */
+#define SIGQUIT		SIGTERM		/* No SIGQUIT */
 
 #undef _REENTRANT			/* Crashes something for win32 */
 #undef SAFE_MUTEX			/* Can't be used on windows */
@@ -89,15 +89,15 @@
 
 /* Type information */
 
-typedef unsigned short  ushort;
-typedef unsigned int    uint;
+typedef unsigned short	ushort;
+typedef unsigned int	uint;
 typedef unsigned __int64 ulonglong;	/* Microsofts 64 bit types */
-typedef __int64	longlong;
+typedef __int64 longlong;
 typedef int sigset_t;
 #define longlong_defined
 /* off_t should not be __int64 because of conflicts in header files;
    Use my_off_t or os_off_t instead */
-typedef	long off_t;
+typedef long off_t;
 typedef __int64 os_off_t;
 #ifdef _WIN64
 typedef UINT_PTR rf_SetTimer;
@@ -109,7 +109,7 @@ typedef uint rf_SetTimer;
 #define Socket_defined
 #define my_socket SOCKET
 #define bool BOOL
-#define SIGPIPE	SIGINT
+#define SIGPIPE SIGINT
 #define RETQSORTTYPE void
 #define QSORT_TYPE_IS_VOID
 #define RETSIGTYPE void
@@ -118,7 +118,9 @@ typedef uint rf_SetTimer;
 #define bool_defined
 #define byte_defined
 #define HUGE_PTR
-#define STDCALL __stdcall           /* Used by libmysql.dll */
+#define STDCALL __stdcall	    /* Used by libmysql.dll */
+#define isnan(X) _isnan(X)
+#define finite(X) _finite(X)
 
 #ifndef UNDEF_THREAD_HACK
 #define THREAD
@@ -201,7 +203,7 @@ inline double ulonglong2double(ulonglong value)
 				    (((uint32) ((uchar) (A)[1])) << 8) +\
 				    (((uint32) ((uchar) (A)[2])) << 16) +\
 				    (((uint32) ((uchar) (A)[3])) << 24)) +\
-			 	    (((ulonglong) ((uchar) (A)[4])) << 32))
+				    (((ulonglong) ((uchar) (A)[4])) << 32))
 #define uint8korr(A)	(*((ulonglong *) (A)))
 #define sint8korr(A)	(*((longlong *) (A)))
 #define int2store(T,A)	*((uint16*) (T))= (uint16) (A)
@@ -247,14 +249,15 @@ inline double ulonglong2double(ulonglong value)
 #define HAVE_FLOAT_H
 #define HAVE_LIMITS_H
 #define HAVE_STDDEF_H
-#define HAVE_RINT               /* defined in this file */
-#define NO_FCNTL_NONBLOCK       /* No FCNTL */
+#define HAVE_RINT		/* defined in this file */
+#define NO_FCNTL_NONBLOCK	/* No FCNTL */
 #define HAVE_ALLOCA
 #define HAVE_STRPBRK
 #define HAVE_STRSTR
 #define HAVE_COMPRESS
 #define HAVE_CREATESEMAPHORE
-
+#define HAVE_ISNAN
+#define HAVE_FINITE
 #define HAVE_ISAM		/* We want to have support for ISAM in 4.0 */
 
 #ifdef NOT_USED
@@ -276,8 +279,8 @@ inline double ulonglong2double(ulonglong value)
 #ifdef _CUSTOMCONFIG_
 #include <custom_conf.h>
 #else
-#define	DEFAULT_MYSQL_HOME	"c:\\mysql"
-#define PACKAGE		 	"mysql"
+#define DEFAULT_MYSQL_HOME	"c:\\mysql"
+#define PACKAGE			"mysql"
 #define DEFAULT_BASEDIR		"C:\\"
 #define SHAREDIR		"share"
 #define DEFAULT_CHARSET_HOME	"C:/mysql/"
@@ -303,6 +306,6 @@ inline double ulonglong2double(ulonglong value)
 	pthread_mutex_lock((L)); (V)+=(C); pthread_mutex_unlock((L));
 #define thread_safe_sub(V,C,L) \
 	pthread_mutex_lock((L)); (V)-=(C); pthread_mutex_unlock((L));
-#define statistic_add(V,C,L)     (V)+=(C)
+#define statistic_add(V,C,L)	 (V)+=(C)
 #endif
 #define statistic_increment(V,L) thread_safe_increment((V),(L))
diff --git a/include/myisam.h b/include/myisam.h
index 32e9225efdf..9b5d21a1844 100644
--- a/include/myisam.h
+++ b/include/myisam.h
@@ -351,6 +351,7 @@ typedef struct st_mi_check_param
   char *op_name;
 } MI_CHECK;
 
+
 typedef struct st_sort_info
 {
   MI_INFO *info;
@@ -368,6 +369,7 @@ typedef struct st_sort_info
   pthread_cond_t  cond;
 } SORT_INFO;
 
+
 typedef struct st_mi_sort_param
 {
   pthread_t  thr;
@@ -391,6 +393,7 @@ typedef struct st_mi_sort_param
   void (*lock_in_memory)(MI_CHECK *);
 } MI_SORT_PARAM;
 
+
 /* functions in mi_check */
 void myisamchk_init(MI_CHECK *param);
 int chk_status(MI_CHECK *param, MI_INFO *info);
@@ -422,8 +425,6 @@ int movepoint(MI_INFO *info,byte *record,my_off_t oldpos,
 int sort_write_record(MI_SORT_PARAM *sort_param);
 int write_data_suffix(SORT_INFO *sort_info, my_bool fix_datafile);
 int _create_index_by_sort(MI_SORT_PARAM *info,my_bool no_messages, ulong);
-void *_thr_find_all_keys(MI_SORT_PARAM *info);
-int _thr_write_keys(MI_SORT_PARAM *sort_param);
 int test_if_almost_full(MI_INFO *info);
 int recreate_table(MI_CHECK *param, MI_INFO **org_info, char *filename);
 void mi_disable_non_unique_index(MI_INFO *info, ha_rows rows);
diff --git a/myisam/mi_check.c b/myisam/mi_check.c
index 9426a55e4d2..3c1d090f53d 100644
--- a/myisam/mi_check.c
+++ b/myisam/mi_check.c
@@ -2130,6 +2130,7 @@ int mi_repair_by_sort_r(MI_CHECK *param, register MI_INFO *info,
   IO_CACHE_SHARE io_share;
   SORT_INFO sort_info;
   ulonglong key_map=share->state.key_map;
+  pthread_attr_t thr_attr;
   DBUG_ENTER("mi_repair_by_sort_r");
 
   start_records=info->state->records;
@@ -2307,6 +2308,9 @@ int mi_repair_by_sort_r(MI_CHECK *param, register MI_INFO *info,
   pthread_mutex_lock(&sort_info.mutex);
 
   init_io_cache_share(&param->read_cache, &io_share, i);
+  (void) pthread_attr_init(&thr_attr);
+  (void) pthread_attr_setdetachstate(&thr_attr,PTHREAD_CREATE_DETACHED);
+
   for (i=0 ; i < sort_info.total_keys ; i++)
   {
     sort_param[i].read_cache=param->read_cache;
@@ -2322,8 +2326,9 @@ int mi_repair_by_sort_r(MI_CHECK *param, register MI_INFO *info,
 #else
     param->sort_buffer_length*sort_param[i].key_length/total_key_length;
 #endif
-    if (pthread_create(& sort_param[i].thr, 0,
-		       (void *(*)(void*))_thr_find_all_keys, sort_param+i))
+    if (pthread_create(&sort_param[i].thr, &thr_attr,
+		       thr_find_all_keys,
+		       (void *) (sort_param+i)))
     {
       mi_check_print_error(param,"Cannot start a repair thread");
       remove_io_thread(&param->read_cache);
@@ -2332,13 +2337,14 @@ int mi_repair_by_sort_r(MI_CHECK *param, register MI_INFO *info,
     else
       sort_info.threads_running++;
   }
+  (void) pthread_attr_destroy(&thr_attr);
 
   /* waiting for all threads to finish */
   while (sort_info.threads_running)
     pthread_cond_wait(&sort_info.cond, &sort_info.mutex);
   pthread_mutex_unlock(&sort_info.mutex);
 
-  if ((got_error= _thr_write_keys(sort_param)))
+  if ((got_error= thr_write_keys(sort_param)))
   {
     param->retry_repair=1;
     goto err;
diff --git a/myisam/mi_locking.c b/myisam/mi_locking.c
index ea4966b05c5..cbde05d31f5 100644
--- a/myisam/mi_locking.c
+++ b/myisam/mi_locking.c
@@ -219,7 +219,7 @@ int mi_lock_database(MI_INFO *info, int lock_type)
 
 
 /****************************************************************************
-** The following functions are called by thr_lock() in threaded applications
+  The following functions are called by thr_lock() in threaded applications
 ****************************************************************************/
 
 void mi_get_status(void* param)
diff --git a/myisam/myisamchk.c b/myisam/myisamchk.c
index 6f12ce1536b..3432bdafd0e 100644
--- a/myisam/myisamchk.c
+++ b/myisam/myisamchk.c
@@ -99,7 +99,7 @@ int main(int argc, char **argv)
   while (--argc >= 0)
   {
     int new_error=myisamchk(&check_param, *(argv++));
-    if (check_param.testflag & T_REP_ANY != T_REP)
+    if ((check_param.testflag & T_REP_ANY) != T_REP)
       check_param.testflag&= ~T_REP;
     VOID(fflush(stdout));
     VOID(fflush(stderr));
diff --git a/myisam/myisamdef.h b/myisam/myisamdef.h
index b5da3d4b4c3..cef864e6efb 100644
--- a/myisam/myisamdef.h
+++ b/myisam/myisamdef.h
@@ -659,6 +659,10 @@ void mi_check_print_error _VARARGS((MI_CHECK *param, const char *fmt,...));
 void mi_check_print_warning _VARARGS((MI_CHECK *param, const char *fmt,...));
 void mi_check_print_info _VARARGS((MI_CHECK *param, const char *fmt,...));
 int flush_pending_blocks(MI_SORT_PARAM *param);
+int thr_write_keys(MI_SORT_PARAM *sort_param);
+#ifdef THREAD
+pthread_handler_decl(thr_find_all_keys,arg);
+#endif
 
 #ifdef __cplusplus
 }
diff --git a/myisam/sort.c b/myisam/sort.c
index 65b606f7a68..e0851b062e1 100644
--- a/myisam/sort.c
+++ b/myisam/sort.c
@@ -277,8 +277,9 @@ static ha_rows NEAR_F find_all_keys(MI_SORT_PARAM *info, uint keys,
 
 /* Search after all keys and place them in a temp. file */
 
-void *_thr_find_all_keys(MI_SORT_PARAM *info)
+pthread_handler_decl(thr_find_all_keys,arg)
 {
+  MI_SORT_PARAM *info= (MI_SORT_PARAM*) arg;
   int error;
   uint memavl,old_memavl,keys,sort_length;
   uint idx, maxbuffer;
@@ -401,10 +402,10 @@ void *_thr_find_all_keys(MI_SORT_PARAM *info)
   pthread_cond_signal(&info->sort_info->cond);
   pthread_mutex_unlock(&info->sort_info->mutex);
   return NULL;
-} /* _thr_find_all_keys */
+}
 
 
-int _thr_write_keys(MI_SORT_PARAM *sort_param)
+int thr_write_keys(MI_SORT_PARAM *sort_param)
 {
   SORT_INFO *sort_info=sort_param->sort_info;
   MI_CHECK *param=sort_info->param;
diff --git a/sql/field.cc b/sql/field.cc
index a23f41e1fa0..88f4098ca0a 100644
--- a/sql/field.cc
+++ b/sql/field.cc
@@ -699,11 +699,13 @@ void Field_decimal::store(double nr)
     return;
   }
   
-  if (isinf(nr)) // Handle infinity as special case
+#ifdef HAVE_FINITE
+  if (!finite(nr)) // Handle infinity as special case
   {
     overflow(nr < 0.0);
     return;      
   }
+#endif
   
   reg4 uint i,length;
   char fyllchar,*to;
diff --git a/sql/sql_insert.cc b/sql/sql_insert.cc
index f5b69f1aff9..a3c6da5e50d 100644
--- a/sql/sql_insert.cc
+++ b/sql/sql_insert.cc
@@ -263,7 +263,9 @@ int mysql_insert(THD *thd,TABLE_LIST *table_list, List<Item> &fields,
       end_delayed_insert(thd);
     }
     if (info.copied || info.deleted)
+    {
       query_cache_invalidate3(thd, table_list, 1);
+    }
   }
   else
   {
-- 
2.30.9