Commit a95fba4d authored by unknown's avatar unknown

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
parent 4c164621
...@@ -12,3 +12,4 @@ paul@central.snake.net ...@@ -12,3 +12,4 @@ paul@central.snake.net
sasha@mysql.sashanet.com sasha@mysql.sashanet.com
serg@serg.mysql.com serg@serg.mysql.com
heikki@hundin.mysql.fi heikki@hundin.mysql.fi
jani@hynda.mysql.fi
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
#include "my_readline.h" #include "my_readline.h"
#include <signal.h> #include <signal.h>
const char *VER="11.16"; const char *VER="11.17";
/* Don't try to make a nice table if the data is too big */ /* Don't try to make a nice table if the data is too big */
#define MAX_COLUMN_LENGTH 1024 #define MAX_COLUMN_LENGTH 1024
...@@ -1776,10 +1776,17 @@ com_tee(String *buffer, char *line __attribute__((unused))) ...@@ -1776,10 +1776,17 @@ com_tee(String *buffer, char *line __attribute__((unused)))
{ {
while (isspace(*param)) while (isspace(*param))
param++; param++;
end=strmake(file_name, param, sizeof(file_name)-1); end= strend(param);
while (end > file_name && (isspace(end[-1]) || iscntrl(end[-1]))) while (end > file_name && (isspace(end[-1]) || iscntrl(end[-1])))
end--; 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); strmov(outfile, file_name);
} }
if (!strlen(outfile)) if (!strlen(outfile))
...@@ -1787,11 +1794,10 @@ com_tee(String *buffer, char *line __attribute__((unused))) ...@@ -1787,11 +1794,10 @@ com_tee(String *buffer, char *line __attribute__((unused)))
printf("No outfile specified!\n"); printf("No outfile specified!\n");
return 0; return 0;
} }
if (!opt_outfile) if (opt_outfile)
{ end_tee();
init_tee(); init_tee();
opt_outfile=1; opt_outfile= 1;
}
tee_fprintf(stdout, "Logging to file '%s'\n", outfile); tee_fprintf(stdout, "Logging to file '%s'\n", outfile);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment