From 47c776bc4cac416b677c2b4588c7a7dc54278a79 Mon Sep 17 00:00:00 2001 From: Vladislav Vaintroub Date: Tue, 8 Feb 2011 12:05:16 +0100 Subject: [PATCH] MWL#55: mysql_upgrade_service.exe will now ensure that datadir is always written to my.ini file --- sql/mysql_upgrade_service.cc | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/sql/mysql_upgrade_service.cc b/sql/mysql_upgrade_service.cc index fea10076a54..1f18ef2ab40 100644 --- a/sql/mysql_upgrade_service.cc +++ b/sql/mysql_upgrade_service.cc @@ -339,6 +339,8 @@ static void change_service_config() char defaults_file[MAX_PATH]; char default_character_set[64]; + char buf[MAX_PATH]; + int i; scm = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS); if(!scm) @@ -376,24 +378,21 @@ static void change_service_config() /* Weird case, no --defaults-file in service definition, need to create one. */ - char buf[MAX_PATH]; - int i; - sprintf_s(props.inifile, MAX_PATH, "%s\\my.ini", props.datadir); - - /* - Write datadir to my.ini, after converting backslashes to - unix style slashes. - */ - strcpy_s(buf, MAX_PATH, props.datadir); - for(i=0; buf[i]; i++) - { - if (buf[i] == '\\') - buf[i]= '/'; - } - - WritePrivateProfileString("mysqld", "datadir",buf, props.inifile); } + + /* + Write datadir to my.ini, after converting backslashes to + unix style slashes. + */ + strcpy_s(buf, MAX_PATH, props.datadir); + for(i=0; buf[i]; i++) + { + if (buf[i] == '\\') + buf[i]= '/'; + } + WritePrivateProfileString("mysqld", "datadir",buf, props.inifile); + /* Remove basedir from defaults file, otherwise the service wont come up in the new version, and will complain about mismatched message file.