From f60eeee9527a2625a71196293b7de099fd78ffd5 Mon Sep 17 00:00:00 2001 From: Vladislav Vaintroub Date: Thu, 21 Nov 2019 01:51:34 +0100 Subject: [PATCH] MDEV-21062 Do not use popen() in text mode for mysql_upgrade. --- client/mysql_upgrade.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/client/mysql_upgrade.c b/client/mysql_upgrade.c index 73a9791d593..4e17089593f 100644 --- a/client/mysql_upgrade.c +++ b/client/mysql_upgrade.c @@ -383,11 +383,20 @@ static int run_command(char* cmd, if (opt_verbose >= 4) puts(cmd); - if (!(res_file= my_popen(cmd, IF_WIN("rt","r")))) + if (!(res_file= my_popen(cmd, "r"))) die("popen(\"%s\", \"r\") failed", cmd); while (fgets(buf, sizeof(buf), res_file)) { +#ifdef _WIN32 + /* Strip '\r' off newlines. */ + size_t len = strlen(buf); + if (len > 1 && buf[len - 2] == '\r' && buf[len - 1] == '\n') + { + buf[len - 2] = '\n'; + buf[len - 1] = 0; + } +#endif DBUG_PRINT("info", ("buf: %s", buf)); if(ds_res) {