mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
merged
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:
@ -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;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user