1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00
VC++Files/mysys/mysys.dsp:
  Auto merged
VC++Files/mysys/mysys_ia64.dsp:
  Auto merged
client/mysql.cc:
  Auto merged
include/my_sys.h:
  Auto merged
myisam/mi_check.c:
  Auto merged
myisam/myisamchk.c:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/r/rpl_multi_delete2.result:
  Auto merged
mysql-test/t/innodb.test:
  Auto merged
mysql-test/t/rpl_multi_delete2-slave.opt:
  Auto merged
mysql-test/t/rpl_multi_delete2.test:
  Auto merged
sql/ha_myisam.cc:
  Auto merged
sql/opt_sum.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
This commit is contained in:
unknown
2005-09-21 13:53:22 +02:00
19 changed files with 508 additions and 28 deletions

View File

@ -959,10 +959,15 @@ static int get_options(int argc, char **argv)
static int read_and_execute(bool interactive)
{
#if defined( __WIN__) || defined(OS2) || defined(__NETWARE__)
#if defined(OS2) || defined(__NETWARE__)
char linebuffer[254];
String buffer;
#endif
#if defined(__WIN__)
String tmpbuf;
String buffer;
#endif
char *line;
char in_string=0;
ulong line_number=0;
@ -993,7 +998,7 @@ static int read_and_execute(bool interactive)
#if defined( __WIN__) || defined(OS2) || defined(__NETWARE__)
tee_fputs(prompt, stdout);
#ifdef __NETWARE__
#if defined(__NETWARE__)
line=fgets(linebuffer, sizeof(linebuffer)-1, stdin);
/* Remove the '\n' */
if (line)
@ -1002,7 +1007,22 @@ static int read_and_execute(bool interactive)
if (p != NULL)
*p = '\0';
}
#else
#elif defined(__WIN__)
if (!tmpbuf.is_alloced())
tmpbuf.alloc(65535);
buffer.length(0);
unsigned long clen;
do
{
line= my_cgets(tmpbuf.c_ptr(), tmpbuf.alloced_length(), &clen);
buffer.append(line, clen);
/*
if we got buffer fully filled than there is a chance that
something else is still in console input buffer
*/
} while (tmpbuf.alloced_length() <= clen + 1);
line= buffer.c_ptr();
#else /* OS2 */
buffer.length(0);
/* _cgets() expects the buffer size - 3 as the first byte */
linebuffer[0]= (char) sizeof(linebuffer) - 3;
@ -1078,9 +1098,14 @@ static int read_and_execute(bool interactive)
status.exit_status=0;
}
}
#if defined( __WIN__) || defined(OS2) || defined(__NETWARE__)
buffer.free();
#endif
#if defined( __WIN__)
tmpbuf.free();
#endif
return status.exit_status;
}