From 41c41448b95fd7c24611d7650c9ea040ead07e56 Mon Sep 17 00:00:00 2001 From: "msvensson@pilot.blaudden" <> Date: Thu, 19 Apr 2007 17:00:29 +0200 Subject: [PATCH] mysql_upgrade win fixes --- client/mysql_upgrade.c | 13 ++++++++----- scripts/CMakeLists.txt | 9 ++++++--- scripts/comp_sql.c | 4 ++-- 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/client/mysql_upgrade.c b/client/mysql_upgrade.c index 92dcb62e8b7..df70ed2c148 100644 --- a/client/mysql_upgrade.c +++ b/client/mysql_upgrade.c @@ -335,6 +335,10 @@ static int run_tool(char *tool_path, DYNAMIC_STRING *ds_res, ...) va_end(args); +#ifdef __WIN__ + dynstr_append(&ds_cmdline, "\""); +#endif + DBUG_PRINT("info", ("Running: %s", ds_cmdline.str)); ret= run_command(ds_cmdline.str, ds_res); DBUG_PRINT("exit", ("ret: %d", ret)); @@ -354,11 +358,11 @@ static my_bool get_full_path_to_executable(char* path) { my_bool ret; DBUG_ENTER("get_full_path_to_executable"); -#ifdef WIN - ret= GetModuleFileName(NULL, path, FN_REFLEN) != 0; +#ifdef __WIN__ + ret= (GetModuleFileName(NULL, path, FN_REFLEN) == 0); #else /* my_readlink returns 0 if a symlink was read */ - ret= my_readlink(path, "/proc/self/exe", MYF(0)) != 0; + ret= (my_readlink(path, "/proc/self/exe", MYF(0)) != 0); /* Might also want to try with /proc/$$/exe if the above fails */ #endif DBUG_PRINT("exit", ("path: %s", path)); @@ -416,8 +420,7 @@ static void find_tool(char *tool_path, const char *tool_name) DBUG_PRINT("enter", ("path: %s", path)); /* Chop off last char(since it might be a /) */ - size_t pos= max((strlen(path)-1), 0); - path[pos]= 0; + path[max((strlen(path)-1), 0)]= 0; /* Chop off last dir part */ dirname_part(path, path); diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt index 8580844097e..cb5efd0ff9b 100755 --- a/scripts/CMakeLists.txt +++ b/scripts/CMakeLists.txt @@ -20,9 +20,12 @@ TARGET_LINK_LIBRARIES(comp_sql dbug mysys strings) # Build comp_sql - used for embedding SQL in C or C++ programs GET_TARGET_PROPERTY(COMP_SQL_EXE comp_sql LOCATION) -ADD_CUSTOM_COMMAND(OUTPUT ${PROJECT_SOURCE_DIR}/client/mysql_fix_privilege_tables_sql.c +ADD_CUSTOM_COMMAND(OUTPUT ${PROJECT_SOURCE_DIR}/scripts/mysql_fix_privilege_tables_sql.c COMMAND ${COMP_SQL_EXE} - ${PROJECT_SOURCE_DIR}/scripts/mysql_fix_privilege_tables.sql - ${PROJECT_SOURCE_DIR}/client/mysql_fix_privilege_tables_sql.c + mysql_fix_privilege_tables.sql + mysql_fix_privilege_tables_sql.c DEPENDS comp_sql ${PROJECT_SOURCE_DIR}/scripts/mysql_fix_privilege_tables.sql) +ADD_CUSTOM_TARGET(GenFixPrivs + ALL + DEPENDS ${PROJECT_SOURCE_DIR}/scripts/mysql_fix_privilege_tables_sql.c) diff --git a/scripts/comp_sql.c b/scripts/comp_sql.c index 60236774701..328dab0cf13 100644 --- a/scripts/comp_sql.c +++ b/scripts/comp_sql.c @@ -74,7 +74,7 @@ int main(int argc, char *argv[]) while(*end && *end != '.') end++; *end= 0; - fprintf(out, "const char* %s={\"\\\n", infile_name); + fprintf(out, "const char* %s={\n\"", infile_name); while (fgets(buff, sizeof(buff), in)) { @@ -87,7 +87,7 @@ int main(int argc, char *argv[]) Reached end of line, add escaped newline, escaped backslash and a newline to outfile */ - fprintf(out, "\\n\\\n"); + fprintf(out, "\\n \"\n\""); curr++; } else if (*curr == '\r')