Commit 4a25f400 authored by unknown's avatar unknown
Browse files

BUG#16803 "ln -s /dev/null .mysql_history" doesn't work!

 - Add a check to see if the .mysql_history file a symlink to /dev/null 
   and in such case, skip reading and writing to it. 
     


client/mysql.cc:
  Add check to detect if the "mysql_history" file is a symlink to /dev/null.
  In that case, don't create histfile variable.
  That will make read_history and write_history to be skipped.
parent 0d3825a6
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -448,6 +448,14 @@ int main(int argc,char *argv[])
				 MYF(MY_WME));
      if (histfile)
	sprintf(histfile,"%s/.mysql_history",getenv("HOME"));
      char link_name[FN_REFLEN];
      if (my_readlink(link_name, histfile, 0) == 0 &&
          strncmp(link_name, "/dev/null", 10) == 0)
      {
        /* The .mysql_history file is a symlink to /dev/null, don't use it */
        my_free(histfile, MYF(MY_ALLOW_ZERO_PTR));
        histfile= 0;
      }
    }
    if (histfile)
    {
@@ -484,7 +492,7 @@ sig_handler mysql_end(int sig)
{
  mysql_close(&mysql);
#ifdef HAVE_READLINE
  if (!status.batch && !quick && !opt_html && !opt_xml)
  if (!status.batch && !quick && !opt_html && !opt_xml && histfile)
  {
    /* write-history */
    if (verbose)