From a95fba4d22014173aeeda005d65b43ce3fd8f7c2 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 15 Feb 2002 02:34:48 +0200 Subject: [PATCH] Fixed too bugs in MySQL client 'mysql', interactive command 'tee'. client/mysql.cc: Fixed two bugs in 'tee'. It's now possible to change the 'tee-file' on the fly without need to run 'notee' in between. 'tee' will now also accept quotes around the file name. BitKeeper/etc/logging_ok: Logging to logging@openlogging.org accepted --- BitKeeper/etc/logging_ok | 1 + client/mysql.cc | 22 ++++++++++++++-------- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/BitKeeper/etc/logging_ok b/BitKeeper/etc/logging_ok index 03e5543a92f..0116fac8efd 100644 --- a/BitKeeper/etc/logging_ok +++ b/BitKeeper/etc/logging_ok @@ -12,3 +12,4 @@ paul@central.snake.net sasha@mysql.sashanet.com serg@serg.mysql.com heikki@hundin.mysql.fi +jani@hynda.mysql.fi diff --git a/client/mysql.cc b/client/mysql.cc index cfe6d823cac..ab8740dbe3c 100644 --- a/client/mysql.cc +++ b/client/mysql.cc @@ -34,7 +34,7 @@ #include "my_readline.h" #include -const char *VER="11.16"; +const char *VER="11.17"; /* Don't try to make a nice table if the data is too big */ #define MAX_COLUMN_LENGTH 1024 @@ -1776,10 +1776,17 @@ com_tee(String *buffer, char *line __attribute__((unused))) { while (isspace(*param)) param++; - end=strmake(file_name, param, sizeof(file_name)-1); + end= strend(param); while (end > file_name && (isspace(end[-1]) || iscntrl(end[-1]))) end--; - end[0]=0; + end[0]= 0; + if ((*(end - 1) == '"' && *param == '"') || + (*(end - 1) == '\'' && *param == '\'')) + { + *--end= 0; + param++; + } + strmake(file_name, param, sizeof(file_name) - 1); strmov(outfile, file_name); } if (!strlen(outfile)) @@ -1787,11 +1794,10 @@ com_tee(String *buffer, char *line __attribute__((unused))) printf("No outfile specified!\n"); return 0; } - if (!opt_outfile) - { - init_tee(); - opt_outfile=1; - } + if (opt_outfile) + end_tee(); + init_tee(); + opt_outfile= 1; tee_fprintf(stdout, "Logging to file '%s'\n", outfile); return 0; }